Меню

Winrik ошибка excel application import module

Quote (сметчица2012)

Что можно сделать?

Смотрите здесь

А так же в РИК’е:
меню «Справка->Инструкции->Описание программного комплекса», Приложение В. Настройка Microsoft Excel

В частности:
Для нормальной работы Office 2007 необходимо:

Настройка уровня безопасности Excel в случае возникновения ошибки:

Quote (сметчица2012)

Сообщение: Тип-EOleSysError
Причина-ошибка ExcelApplication::ImportModul
Позиция -5
Путь 1-C:/RIK/SM_R/WR/TmpForms/ResSmetaCalc_51eb0313.xls Путь 2-C:/RIK/UTULS/WinRIK/Excel/MWRFuncsCur.bas Функция=CuarExcel
Колонка-13_PrSmtCurUr A4LS

• Закрыть на компьютере все приложения, включая РИК и MS Excel.
• Открыть любой лист MS Excel, если такого нет, то создать новый и открыть его.
• Нажать кнопку «Office» в левом верхнем углу.
• В нижней части выпавшего списка команд выбрать «Параметры Excel»
• Выбрать команду «Центр управления безопасностью» и справа внизу «Параметры центра управления безопасностью»
• В окне «Центр управления безопасностью» слева выбрать «Параметры макросов» и в этом окне справа:
• поставить точку «Включить ВСЕ макросы»
• поставить галочку «Доверять доступ к объектной модели…»
• Нажать кнопку «ОК» два раза и закрыть лист Excel.

При попытке выпуска сметы, составленной в программе WinРИК, в Microsoft Office Excel иногда происходит следующий сбой: появляется окно Исключение с сообщением «Сообщение: Тип – EOleSysError. Причина — Ошибка — ExcelApplication::ImportModule…».

Настройка Microsoft Office Excel 2003 для выпуска смет, созданных в программе WinРИК: 

– запустите Диспетчер задач Windows (например, с помощью клавиш Ctrl+Alt+Del, или с помощью Пуск –> Выполнить… –> taskmgr.exe); 
– откройте вкладку Процессы; 
– выделите EXCEL.EXE, нажмите Завершить процесс; 
– в окне Предупреждение диспетчера задач нажмите Да; 
– запустите Microsoft Office Excel 2003; 
– выберите меню Сервис –> Макрос –> Безопасность…; 
– в окне Безопасность откройте вкладку Надежные издатели;

– установите флажки Доверять всем установленным надстройкам и шаблонам и Доверять доступ к Visual Basic Project –> OK; 

– закройте Microsoft Office Excel 2003.


Настройка Microsoft Office Excel 2007/2010 для выпуска смет, созданных в программе WinРИК: 

– запустите Диспетчер задач Windows (например, с помощью клавиш Ctrl+Alt+Del, или с помощью Пуск –> Выполнить… –> taskmgr.exe); 
– откройте вкладку Процессы; 
– выделите EXCEL.EXE, нажмите Завершить процесс; 
– в окне Предупреждение диспетчера задач нажмите Да;
– запустите Microsoft Office Excel 2007/2010; 
– нажмите кнопку Office; 
– в контекстном меню выберите Параметры Excel;

– в окне Параметры Excel выберите Центр управления безопасностью –> Параметры центра управления безопасностью…;  

– в окне Центр управления безопасностью выберите Параметры макросов;

– установите флажок Доверять доступ к объектной модели проектов VBA –> OK –> OK; 

– закройте Microsoft Office Excel.   

Аналогичным образом – для выпуска смет, составленных в программе WinРИК, – настраивается и Microsoft Office Word.

Vologd

21 / 19 / 12

Регистрация: 03.11.2013

Сообщений: 866

1

RAD XE3+

10.02.2021, 13:22. Показов 3494. Ответов 8

Метки нет (Все метки)


В программах работаю с эксель через оле. На всех компьютерах где установлен эксель никогда не возникало ошибок. На одном из компьютеров. Стала выскакивать ошибка на сервере. Во всех вариациях программ. Сам эксель работает вроде корректно. Я предполагаю, что дело в компе в ос. ОС win server 2012 R2 standart
Но все же… как выйти из ситуации, возможно какой-то компонент не установлен? И дело в офисе или ос, что посоветуете?
try except выдает
EOleSysError Ошибка на сервере

Добавлено через 22 минуты
Экспериментирую, ищу((
Создание книги новой происходит без ошибок, а вот на открытии шаблона как раз и появляется эта ошибка

Delphi
1
Excel.WorkBooks.Open(ExtractFilePath(ParamStr(0)) + 'excel.xlsx');

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



2801 / 1480 / 594

Регистрация: 19.03.2019

Сообщений: 4,904

10.02.2021, 13:46

2

файл excel.xlsx ты рядом со своим EXE файлом положить не забыл?
С правами доступа не может быть проблем? Попробуй создать отдельную папку, положить туда свой EXE и excel.xlsx

Цитата
Сообщение от Vologd
Посмотреть сообщение

Стала выскакивать ошибка на сервере.

скриншот ошибки то покажи.



0



Vologd

21 / 19 / 12

Регистрация: 03.11.2013

Сообщений: 866

10.02.2021, 13:50

 [ТС]

3

вот весь код

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm8.Button1Click(Sender: TObject);
var
  Ap:variant;
begin
  try
    Ap:=CreateOleObject('Excel.Application');
    Ap.WorkBooks.Open(ExtractFilePath(ParamStr(0)) + '1.xlsx',0,True);
    Ap.visible:=true;
  except
    on E : Exception do
      ShowMessage(E.ClassName+' поднята ошибка, с сообщением : '+E.Message);
  end;
end;

Миниатюры

Ошибка работы с эксель EOleSysError Ошибка на сервере
 



0



mr-Crocodile

2801 / 1480 / 594

Регистрация: 19.03.2019

Сообщений: 4,904

10.02.2021, 16:03

4

Vologd, тогда я тебе вряд ли чем-то смогу помочь…

попробуй такой код на кнопке:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var
  Form8 :  TForm8;
  ExcelApp, exBook : OleVariant;
 
implementation
 
....
 
procedure TForm8.Button1Click(Sender: TObject);
begin
  try
    ExcelApp := GetActiveOleObject('Excel.Application');
  except
    try
      // If no instance of Word is running, try to Create a new Excel Object
      ExcelApp := CreateOleObject('Excel.Application');
    except
      ShowMessage('Cannot start Excel/Excel not installed ?');
      Exit;
    end;
  end;
 
  ExcelApp.Visible := true;
 
  //Создаём рабочую книгу.
  { exBook := ExcelApp.WorkBooks.Add; }
 
end;

если всё пройдёт, тогда попробуй разкомментировать строчку c ExcelApp.WorkBooks.Add

Компьютер перегружать пробовал?
да, к слову, а по двойному клику по 1.xlsx на рабочем MS Excel открывается? Версия какая?

Добавлено через 2 минуты
а ещё хочется узнать, что будет, если сделать вот так:

Delphi
1
2
3
4
5
6
7
8
procedure TForm8.Button1Click(Sender: TObject);
var
  Ap:OleVariant;
begin
    Ap:=CreateOleObject('Excel.Application');
    Ap.WorkBooks.Open(ExtractFilePath(ParamStr(0)) + '1.xlsx',0,True);
    Ap.visible:=true;
end;



0



3276 / 1961 / 632

Регистрация: 29.05.2013

Сообщений: 8,511

10.02.2021, 16:32

5

А вот расширение файла 1 на рабочем столе какое? Иконка несколько отличается от стандартного .xlsx



0



21 / 19 / 12

Регистрация: 03.11.2013

Сообщений: 866

12.02.2021, 09:36

 [ТС]

6

Мое предположение, что виноват пакет офиса. Но переустановить его пока нет возможности
На счет расширения, ругался бы на путь, менять пробовал там другая ошибка выскочит
На счет проверки офиса, в программе при старте делается проверка, не ругается.
Офис двойным кликом все работает, все норм.
При создании новой книги программа отрабатывает нормально, ошибка возникает только при открытии шаблона… очень странно((( трудно грешить на офис)
К слову говоря, этот комп, на котором работает ПО, был заражен вирусом, выполнялось восстановление. После этого и перестало работать.
Жду пока переставят офис. Но что-то долго это занимает) отпишусь, если найду в чем было дело
спасибо за помощь!



1



0 / 0 / 0

Регистрация: 17.11.2021

Сообщений: 2

17.11.2021, 14:19

7

На одном из компьютеров на объекте вылезла аналогичная проблема. На остальных компах — всё ок. Отключение антивируса не помогает. Ошибка возникает при операции открытия файла через OLE как у автора. Возможности по экспериментам сильно ограничены на этой машине. Есть какие нибудь прояснения по причине этой ошибки?



0



21 / 19 / 12

Регистрация: 03.11.2013

Сообщений: 866

17.11.2021, 16:08

 [ТС]

8

Не отписался по решению, решил таким спобом, что делаю визибл сразу, тогда работает без ошибок. Решение подсмотрел на форуме 1С
Ap.visible:=true;
до всех операций

хотя вот выше это тоже предложено)



0



0 / 0 / 0

Регистрация: 17.11.2021

Сообщений: 2

17.11.2021, 17:14

9

Спасибо, попробую этот способ. Но проблема в том что очень много модулей откуда идёт работа с Экселем…



0



Обновлено: 28.01.2023

COM-объект и Excel

Ошибка при вызове метода контекста (Open)
ex.WorkBooks.Open(Файл);
по причине:
Неизвестная ошибка

Сталкиваюсь с этим впервые, на других компах всю жизнь все работает, с любой платформой 8.3
Если что-то с Excel, то что?

Ошибка при вызове метода контекста (Open)
ex.WorkBooks.Open(Файл);
по причине:
Неизвестная ошибка

Сталкиваюсь с этим впервые, на других компах всю жизнь все работает, с любой платформой 8.3
Если что-то с Excel, то что?

Ты открываешь Апликайшон — а как ты это открываешь (интерактивно или же на сервере)? Опять же у тебя какой эксель (32-х разрядный или же 64-х разрядный) и в каком контексте пытаешься открыть (в 32-х разрядном клиенте или же на стороне 64-х разрядного сервера)?

Все очень просто.
Файловая база.
Excel 2010. Файл лежит на том же диске, что и база и открывающая его обработка.
Никакого клиент-серверного режима нет.

Попытка
Excel = Новый COMОбъект(«Excel.Application»);
Excel.WorkBooks.Open(ИмяФайла);
Состояние(«Обработка файла Microsoft Excel. «);
Исключение
Сообщить(«Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!»);
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;

Все то же самое.
Ошибка при вызове метода контекста (Open): Неизвестная ошибка
ОписаниеОшибки()=»»

[QUOTE=lilyapo;469920]Все то же самое.
Ошибка при вызове метода контекста (Open): Неизвестная ошибка

похоже у тебя проблема с com-ом. А у тебя Excel нормально в реестре зареген? Ты его видишь в com-объектах?

Попробуй подключиться к открытому «ручками» экселю

Как подключиться к запущенному Excel-евскому файлу в реальном времени, изменить его и даже не сохранять, а просто переключить окно на 1С и сразу же выгружать данные в табличную часть, лишь переключив окна

В частности, у меня есть две таблицы и несколько сабвуферов VBA в этих таблицах. В одном из проектов VBA (скажем, workbook1.xlsm) у меня есть следующий код:

Но я получил следующую ошибку. Макросы на обоих листах включены. В обеих таблицах сабвуферы находятся в Модуле1.

Не удается запустить макрос «Workbook.xlsm! PrepareTheTables». Макрос может быть недоступен в> этой книге или все макросы могут быть отключены.

Я также попробовал Application.Run «Python solution macro.xlsm!Module1.PreparetheTables» но не сработало.

ОТВЕТЫ

Ответ 1

Если у вас есть пробел в названии книги, вы должны использовать одинарные кавычки (‘) вокруг имени файла. Я также удалил полную остановку.

Ответ 2

В Microsoft KB попробуйте разрешить программный доступ к проекту Visual Basic:

Ответ 3

Имел ту же проблему, и я «Скомпилировал проект VBA», который выявил ошибку. После коррекции и компиляции макросы работали.

Ответ 4

Вы также сталкиваетесь с этой проблемой при создании процедуры в модуле класса.

Когда вы пытаетесь запустить код извне, вы получаете эту ошибку.
Вы также не можете назначить макрос кнопке члену модуля класса.

Если вы попытаетесь запустить из кода, нажав зеленую кнопку воспроизведения, вы также увидите ту же ошибку.

Либо переместите подпрограмму в обычный модуль, либо создайте новую процедуру в регулярном модуле, который вызывает член класса.

Ответ 5

У меня также была проблема с этой ошибкой, оказалось, что имя файла вызывает проблему.

Я называл это следующим образом: Application.Run «и strPath и strFName и»!! UPC.PrintaFew «

Переменная strFName содержала в себе апостроф, который, конечно же, перепутал вещи. Мне потребовалось несколько часов, чтобы понять это. Но как только апостроф был удален из имени файла, он сработал.

Ответ 6

Ответ 7

В моем случае эта ошибка возникла, когда имя Sub было идентично имени модуля.

Ответ 8

Удалите макрос имени и снова создайте его. Я сделал это, и макрос работал.

Ответ 9

Наиболее вероятной причиной этой ошибки является то, что функция безопасности в Excel VBA, которая не позволяет запускать код VBA. Пользователь должен явно предоставить разрешение на запуск макросов excel вместе с книгой. Этот может или не может требовать программный доступ к проекту Visual Basic.

Для меня эта ошибка была решена: —

Включить редактирование и включение содержимого

Включить кнопку содержимого

Изменение параметров макроса вместе с программными доступ ( не рекомендуется, если какой-либо из вышеперечисленных процессов работает. Это позволило бы управлять кодом для изменения элементов в VBA Сам проект, включая ссылки и сам код — Ссылка)

Ответ 10

У меня была такая же проблема, как и у OP, и это было вызвано тем, что объявление опций было написано с ошибкой:

в дополнительном модуле вместо правильного;

Ответ 11

Сохранить как .xlsm(Excel Macro-Enabled Workbook).

Ответ 12

В моем случае это было связано с тем, что публичная процедура в другом модуле и частная процедура в вызывающем модуле с тем же именем. VBA не различает эти два и, следовательно, дает тупые ошибки.

Ответ 13

Мне пришлось удалить все тире и символы подчеркивания из имен файлов и имен макросов, убедиться, что макрос включен и добавить их имя модуля .macro

Вот что я закончил: Application.Run( «‘» и WbName и «‘» и «! ModuleName.MacroName» )

Ответ 14

У меня была такая же проблема, и мне потребовалось время, чтобы разобраться. Моя цель состояла в том, чтобы вызвать код в отдельной книге. У меня был целевой объект в листе, а не в модуле. Оказывается, что не может удаленно вызывать суб или функцию, которая не находится в модуле.

Ответ 15

Я недавно столкнулся с этой проблемой и попробовал все вышеперечисленные решения, но в духе. На самом деле проблема в том, что я создаю флажок динамически с помощью Excel vba и назначаю макрос на действие, но когда я нажимаю на флажок, он выдает ошибку выше.

Решение

Как мне найти решение?

Щелкните правой кнопкой мыши по флажку, а затем назначьте макрос вручную. Затем я проверил это, он работал отлично. Затем я заметил, что excel назначает макрос с использованием кодовых имен листов, а не фактических имен, которые мы установили внизу.

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Симптомы

Решение

Для решения этой проблемы воспользуйтесь приведенными ниже способами в указанном порядке.

Способ 1. Игнорировать DDE

Чтобы изменить этот параметр, выполните приведенные ниже действия:

Эта проблема может возникнуть, если в параметрах Excel установлен флажок Игнорировать другие приложения, использующие динамический обмен данными (DDE).

Дополнительные сведения об отключении DDE см. в следующей статье базы знаний Майкрософт:

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 2.

Способ 2. Восстановление виртуализации взаимодействия с пользователем (UE-V)

Если вы используете обновление пользовательского опыта виртуализации (UE-V), установите Hotfix Package 1 для Microsoft User Experience Virtualization 2.0 (KB2927019).

Если вы не уверены, используете ли вы UE-V, просмотрите список программ в Программы и компоненты на панели управления. Запись для «Центра параметров компании» указывает на то, что вы используете UE-V.

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 3.

Способ 3. Сброс сопоставления файлов

Чтобы проверить, правильно ли работают сопоставления файлов в системе, сбросите сопоставления файлов Excel на настройки по умолчанию. Для этого выполните описанные ниже действия в зависимости от установленной операционной системы. Windows 10

Windows 8

  1. На начальном экране введите «Панель управления».
  2. Выберите Панель управления.
  3. Выберите Программы по умолчанию > Задание программ по умолчанию.
  4. Выберите Excel > Выберите по умолчанию для этой программы.
  5. На экране Сопоставление программ выберите Выбрать все > Сохранить.

Windows 7

  1. Выберите Пуск > Панель управления.
  2. Выберите Программы по умолчанию.
  3. Выберите Сопоставление типов файлов или протоколов с конкретными программами.
  4. Выберите Лист Microsoft Excel, затем выберите «Изменить программу».
  5. В разделе Рекомендуемые программы выберите Microsoft Excel.
  6. Если Excel не отображается в этом списке, выберите Обзор, найдите папку установки Excel, выберите Excel.exe > Excel.

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 4.

Способ 4. Восстановление Office

Возможно, требуется восстановить программы Office. Для этого следуйте инструкциям для вашего типа установки и операционной системы.

Для Office 365, установленной по технологии «нажми и работай»

  1. В поле поиска введите Панель управления, а затем выберите Панель управления в результатах поиска.
  2. В разделе Программы выберите Удаление программы.
  3. Нажмите Microsoft Office 365 > Изменить.
  4. Нажмите Восстановление по сети > Восстановить.

После завершения восстановления может потребоваться перезагрузить компьютер. Windows 8

  1. На начальном экране введите «Панель управления».
  2. Выберите Панель управления.
  3. В разделе Программы выберите Удаление программы.
  4. Выберите Microsoft Office 365 > Изменить.
  5. Выберите Восстановление по сети > Восстановить.

После завершения восстановления может потребоваться перезагрузить компьютер.

  1. Выберите Пуск >Панель управления.
  2. Дважды щелкните Программы и компоненты.
  3. Выберите Microsoft Office 365 > Изменить.
  4. Выберите Восстановление по сети > Восстановить.

После завершения восстановления может потребоваться перезагрузить компьютер.

Для восстановления Office выберите параметр «Восстановление по сети».

Для установки Office 2016, 2013, Office 2010 или Office 2007

Для восстановления Office 2013, Office 2010 или Office 2007, следуйте шагам в следующей теме веб-сайта Office:

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 5.

Способ 5. Выключите надстройки

Надстройки Excel и COM также могут вызывать эту проблему. Эти два вида надстроек расположены в разных папках. Для тестирования отключите и изолируйте конфликт, отключив каждую надстройку по одному. Для этого выполните следующие действия:

  1. В меню Файл выберите пункт Параметры > Надстройки.
  2. В списке Управление в нижней части экрана выберите элемент Надстройки COM > Перейти.
  3. Удалите одну из надстроек в списке, затем выберите OK.
  4. Перезапустите Excel, дважды щелкнув значок или имя файла для книги, которую вы пытаетесь открыть.
  5. Если проблема сохраняется, повторите шаги 1-4, за исключением выбора другой надстройки в шаге 3.
  6. Если проблема сохраняется после того, как вы очистите все надстройки COM, повторите шаги 1-4, за исключением выбора Надстройки Excel в шаге 2, затем попробуйте каждую из надстроек Excel по одному на шаге 3.

Если Excel загружает файл, надстройка, которую вы выключили в последний раз, вызывает проблему. В этом случае мы рекомендуем вам посетить веб-сайт производителя надстройки, чтобы узнать, доступна ли обновленная версия надстройки. Если новая версия надстройки недоступна или вам не нужно использовать надстройку, вы можете оставить ее выключенной.

Если Excel не открывает файл после выключения всех надстроек, проблема имеет другую причину.

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 6.

Способ 6. Отключите аппаратное ускорение

Чтобы решить эту проблему, отключите аппаратное ускорение до тех пор, пока производитель видеокарт не выпустит исправление. Регулярно проверяйте обновления для драйвера видеокарты.

Порядок отключения аппаратного ускорения:

Запустите любую программу Office 2013.

На вкладке Файл выберите пункт Параметры.

В диалоговом окне Параметры выберите категорию Дополнительно.

В списке доступных параметров, установите флажок в поле Выключить аппаратное ускорение обработки изображений.

Следующий снимок экрана показывает эту опцию в Excel.

Выберите параметр «Выключить аппаратное ускорение обработки изображений», чтобы отключить аппаратное ускорение для продуктов Office.

Нажмите OK.

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 7.

Способ 7. Проверка наличия или установка последних обновлений

Возможно, вам придется настроить Центр обновления Windows для автоматической загрузки и установки рекомендуемых обновлений. Установка важных, рекомендуемых и необязательных обновлений зачастую может решить проблемы за счет замены устаревших файлов и устранения уязвимостей.

Для получения дополнительных сведений об обновлениях Office щелкните следующий номер статьи, чтобы перейти к статье в базе знаний Майкрософт.

Дополнительная информация

Существует множество возможных причин, которые могут привести к этой ошибке.

Дополнительные сведения об этой проблеме и дополнительные действия по устранению неполадок см. в следующих статьях базы знаний Майкрософт.

В сегодняшней статье я хотел бы, как можно подробнее, рассмотреть интеграцию приложений Python и MS Excel. Данные вопрос может возникнуть, например, при создании какой-либо системы онлайн отчетности, которая должна выгружать результаты в общепринятый формат ну или какие-либо другие задачи. Также в статье я покажу и обратную интеграцию, т.е. как использовать функцию написанную на python в Excel, что также может быть полезно для автоматизации отчетов.

Работаем с файлами MS Excel на Python

Для работы с Excel файлами из Python мне известны 2 варианта:

Использование библиотек

Итак, первый метод довольно простой и хорошо описан. Например, есть отличная статья для описания работы c xlrd, xlwt, xlutils. Поэтому в данном материале я приведу небольшой кусок кода с их использованием.

Для начала загрузим нужные библиотеки и откроем файл xls на чтение и выберем
нужный лист с данными:

Теперь давайте посмотрим, как считать значения из нужных ячеек:

Как видно чтение данных не составляет труда. Теперь запишем их в другой файл. Для этого создам новый excel файл с новой рабочей книгой:

Запишем в новый файл полученные ранее данные и сохраним изменения:

Из примера выше видно, что библиотека xlrd отвечает за чтение данных, а xlwt — за запись, поэтому нет возможности внести изменения в уже созданную книгу без ее копирования в новую. Кроме этого указанные библиотеки работают только с файлами формата xls (Excel 2003) и у них нет поддержки нового формата xlsx (Excel 2007 и выше).

Чтобы успешно работать с форматом xlsx, понадобится библиотека openpyxl. Для демонстрации ее работы проделаем действия, которые были показаны для предыдущих библиотек.

Для начала загрузим библиотеку и выберем нужную книгу и рабочий лист:

Как видно из вышеприведенного листинга сделать это не сложно. Теперь посмотрим как можно считать данные:

Отличие от прошлых библиотек в том, что openpyxl дает возможность отображаться к ячейкам и последовательностям через их имена, что довольно удобно и понятно при чтении программы.

Теперь посмотрим как нам произвести запись и сохранить данные:

Из примера видно, что запись, тоже производится довольно легко. Кроме того, в коде выше, можно заметить, что openpyxl кроме имен ячеек может работать и с их индексами.

К недостаткам данной библиотеки можно отнести, то что, как и в предыдущем примере, нет возможности сохранить изменения без создания новой книги.

Как было показано выше, для более менее полноценной работы с excel файлами, в данном случае, нужно 4 библиотеки, и это не всегда удобно. Кроме этого, возможно нужен будет доступ к VBA (допустим для какой-либо последующей обработки) и с помощью этих библиотек его не получить.

Однако, работа с этими библиотеками достаточно проста и удобна для быстрого создания Excel файлов их форматирования, но если Вам надо больше возможностей, то следующий подпункт для Вас.

Работа с com-объектом

В своих отчетах я предпочитаю использовать второй способ, а именно использование файла Excel через com-объект с использованием библиотеки win32com. Его преимуществом, является то, что вы можете выполнять с файлом все операции, которые позволяет делать обычный Excel с использованием VBA.

Проиллюстрируем это на той же задаче, что и предыдущие примеры.

Для начала загрузим нужную библиотеку и создадим COM объект.

Теперь мы можем работать с помощью объекта Excel мы можем получить доступ ко всем возможностям VBA. Давайте, для начала, откроем любую книгу и выберем активный лист. Это можно сделать так:

Давайте получим значение первой ячейки и последовательности:

Как можно заметить, мы оперируем здесь функциями чистого VBA. Это очень удобно если у вас есть написанные макросы и вы хотите использовать их при работе с Python при минимальных затратах на переделку кода.

Посмотрим, как можно произвести запись полученных значений:

Из примера видно, что данные операции тоже довольно просто реализовываются. Кроме этого, можно заметить, что изменения мы сохранили в той же книге, которую открыли для чтения, что достаточно удобно.

Однако, внимательный читатель, обратит внимание на переменную i, которая инициализируется не 0, как принято python, а 1. Это связано с тем, что мы работаем с индексами ячеек как из VBA, а там нумерация начинается не с 0, а с 1.

На этом закончим разбор способов работы с excel файлами в python и перейдем к обратной задаче.

Вызываем функции Python из MS Excel

Может возникнуть такая ситуация, что у вас уже есть какой-либо функция, которая обрабатывает данные на python, и нужно перенести ее функциональность в Excel. Конечно же можно переписать ее на VBA, но зачем?

Для использования функций python в Excel есть прекрасная надстройка ExcelPython. С ее помощью вы сможете вызывать функции написанные на python прямо из Excel, правда придется еще написать небольшую обертку на VBA, и все это будет показано ниже.

Итак, предположим у нас есть функция, написанная на python, которой мы хотим воспользоваться:

На вход ей подается список, состоящий из списков, это одно из условий, которое должно выполняться для работы данной функции в Excel.

Сохраним функцию в файле plugin.py и положим его в ту же директорию, где будет лежать наш excel файл, с которым мы будем работать.

Теперь установим ExcelPython. Установка происходит через запуск exe-файла и не вызывает затруднений.

Когда все приготовления выполнены, открываем тестовый файл excel и вызовем редактор VBA (Alt+F11). Для работы с вышеуказанной надстройкой необходимо ее подключить, через Tools->References, как показано на рисунке:

Ну что же, теперь можно приступить к написанию функции-обертки для нашего Python-модуля plugin.py. Выглядеть она будет следующим образом:

Итак, что же происходит в данной функции?

Для начала, с помощью PyModule , мы подключаем нужный модуль. Для этого в качестве параметров ей передается имя модуля без расширения, и путь до папки в которой он находится. На выходе работы PyModule мы получаем объект для работы с модулем.

Затем, с помощью PyCall , вызываем нужную нам функцию из указанного модуля. В качестве параметров PyCall получает следующее:

  1. Объект модуля, полученный на предыдущем шаге
  2. Имя вызываемой функции
  3. Параметры, передаваемые функции (передаются в виде списка)

Теперь, чтобы убедиться в работоспособности нашей связки, вызовем нашу свежеиспеченую функцию на листе в Excel:

Как видно из рисунка все отработало правильно.

Надо отметить, что в данном материале используется старая версия ExcelPython, и на GitHub’e автора доступна новая версия.

Заключение

В качестве заключения, надо отметить, примеры в данной статье самые простые и для более глубоко изучения данных методов, я рекомендую обратиться к
документации по нужным пакетам.

Также хочу заметить, что указанные пакеты не являются единственными и в статье опущено рассмотрение, таких пакетов как xlsxwriter для генерации excel файлов или xlwings, который может работать с Excel файлами «на лету», а также же PyXLL, который выполняет аналогичные функции ExcelPython.

Кроме этого в статье я попытался несколько обобщить разборасанный по сети материал, т.к. такие вопросы часто фигурируют на форумах и думаю некоторым будет полезно иметь, такую «шпаргалку» под рукой.

Читайте также:

      

  • Поиск по презентации powerpoint
  •   

  • Dexp u50e9100q как прошить
  •   

  • Модем cdma 450 evdo rev a прошивка
  •   

  • Где в тюмени пройти курсы 1с
  •   

  • Кнопка копировать в браузере

(оригинал статьи: https://adamtheautomator.com/powershell-excel/ )

Microsoft Excel — один из тех вездесущих инструментов, от которых большинство из нас не может убежать, даже если мы попытаемся. Многие ИТ-специалисты используют Excel как небольшую базу данных, в которой хранятся тонны данных в различных процедурах автоматизации. Каков наилучший сценарий автоматизации и Excel? PowerShell!

Таблицы Excel всегда было заведомо сложно создавать сценариями и автоматизировать. В отличие от менее функционального (и более простого) аналога файла CSV, книги Excel — это не просто текстовые файлы. Для работы со сложными книгами Excel требуется PowerShell Component Object Model (COM) objects , так как вам нужно было установить Excel. Уже нет.

К счастью, проницательный участник сообщества PowerShell, Doug Finke, создал модуль PowerShell, названный ImportExcel для нас, простых смертных. Модуль ImportExcel устраняет всю эту сложность. Это позволяет легко управлять книгами Excel прийти к PowerShell сценариям!

В этой статье давайте рассмотрим, что вы можете делать с PowerShell и Excel с помощью модуля ImportExcel, а также рассмотрим несколько популярных вариантов использования.

Пререквизиты

При запуске модуля ImportExcel в системе Windows отдельные зависимости не требуются. Однако, если вы работаете с macOS, вам необходимо установить пакет mono-libgdiplus, используя brew install mono-libgdiplus. (Все примеры в этой статье будут построены с использованием macOS, но все примеры должны работать на разных платформах.)

Если вы используете macOS, не забудьте перезапустить сеанс PowerShell, прежде чем продолжить!

Установка модуля ImportExcel

Начните с загрузки и установки модуля через PowerShell Gallery, запустив Install-Module ImportExcel -Scope CurrentUser. Через несколько секунд все будет в порядке.

Использование PowerShell для экспорта в рабочий лист Excel

Возможно, вы знакомы со стандартными командлетами PowerShell Export-Csv и Import-Csv. Эти командлеты позволяют читать и экспортировать объекты PowerShell в файлы CSV. К сожалению, нет командлетов Export-Excel и Import-Excel . Но, используя модуль ImportExcel, вы можете создать свой собственный функционал.

Один из наиболее частых запросов системного администратора — это экспорт объектов PowerShell в рабочий лист Excel. С помощью командлета Export-Excel в модуле ImportExcel, вы можете легко сделать это.

Например, возможно, вам нужно найти какие-то процессы, запущенные на вашем локальном компьютере, и поместить их в книгу Excel.

Командлет Export-Excel принимает любой объект точно так же, как делает Export-Csv. Этому командлету можно передать любой объект.

Чтобы найти процессы, запущенные в системе с помощью PowerShell, используйте командлет Get-Process, который возвращает каждый запущенный процесс и различную информацию о каждом процессе. Чтобы экспортировать эту информацию в Excel, используйте командлет Export-Excel, указывающий путь к создаваемой книге Excel. Вы можете увидеть пример команды и снимок экрана сгенерированного файла Excel ниже.

Get-Process | Export-Excel -Path ‘./processes.xlsx’

Поздравляю! Вы экспортировали всю информацию точно так же, как Export-Csv , но, в отличие от Export-Csv, мы можем сделать эти данные намного интереснее. Убедитесь, что имя рабочего листа называется Processes, данные находятся в таблице, а размер строк устанавливается автоматически.

Используя параметр переключателя AutoSize для автоматического изменения размера всех строк, TableName, чтобы указать имя таблицы, которая будет включать все данные, и имя параметра WorksheetName для процессов, вы можете увидеть на снимке экрана ниже, что можно построить.

Get-Process | Export-Excel -Path ‘./processes.xlsx’ -AutoSize -TableName Processes -WorksheetName Proccesses

Командлет Export-Excel  имеет множество параметров, которые можно использовать для создания книг Excel всех видов. Для полного изложения всего, что Export-Excel может делать, запустите Get-Help Export-Excel.

Использование PowerShell для импорта в Excel

Итак, вы экспортировали некоторую информацию в файл с именем process.xlsx в предыдущем разделе. Возможно, теперь вам нужно переместить этот файл на другой компьютер и импортировать / прочитать эту информацию. Без проблем. У вас есть Import-Excel к вашим услугам.

При простейшем использовании вам нужно только указать путь к документу / книге Excel с помощью параметра Path, как показано ниже. Вы увидите, что он читает первый рабочий лист, в данном случае рабочий лист Processes, и возвращает объекты PowerShell.

Import-Excel -Path ‘./processes.xlsx’

Может быть, у вас есть несколько листов в книге Excel? Вы можете прочитать конкретный рабочий лист с помощью параметра WorksheetName.

Import-Excel -Path ‘./processes.xlsx’ -WorkSheetname SecondWorksheet

Вам нужно читать только определенные столбцы из рабочего листа Excel? Используйте параметр HeaderName, чтобы указать только те параметры, которые вы хотите прочитать.

Import-Excel -Path ‘./processes.xlsx’ -WorkSheetname Processes -HeaderName ‘CPU’,’Handle’

Командлет Import-Excel имеет другие параметры, которые можно использовать для чтения книг Excel всех типов. Чтобы получить полное изложение всего, что может делать Import-Excel, запустите Get-Help Import-Excel.

Использование PowerShell для получения (и установки) значений ячеек Excel

Теперь вы знаете, как читать весь лист Excel с помощью PowerShell, но что, если вам нужно только одно значение ячейки? Технически вы можете использовать Import-Excel и отфильтровать нужное значение с помощью Where-Object, но это будет не слишком эффективно.

Вместо этого, используя командлет Open-ExcelPackage, вы можете «преобразовать» книгу Excel в объект PowerShell, который затем можно будет читать и изменять. Чтобы найти значение ячейки, сначала откройте книгу Excel, чтобы занести его в память.

$excel = Open-ExcelPackage -Path ‘./processes.xlsx’

Open-ExcelPackage аналогичен использованию New-Object -comobject excel.application, если работать напрямую с COM-объектами.

Затем выберите лист внутри книги.

$worksheet = $excel.Workbook.Worksheets[‘Processes’]

Этот процесс похож на способ открытия книг с помощью COM-объекта excel.workbooks.open.

После того, как рабочий лист назначен переменной, вы можете перейти к отдельным строкам, столбцам и ячейкам. Возможно, вам нужно найти все значения ячеек в строке A1. Вам просто нужно сослаться на свойство Cells, указав индекс A1, как показано ниже.

$worksheet.Cells[‘A1’].Value

Вы также можете изменить значение ячеек на листе, присвоив другое значение, например $worksheet.Cells[‘A1’] = ‘differentvalue’

Будучи в оперативной памяти, важно высвободить пакет Excel с помощью командлета Close-ExcelPackage.

Close-ExcelPackage $excel

Конверсия Excel в файлы CSV с PowerShell

Если у вас есть содержимое листа Excel, представленное с помощью объектов PowerShell, «преобразование» листов Excel в CSV просто требует отправки этих объектов в командлет Export-Csv.

Используя созданную ранее книгу processes.xlsx, прочтите первый рабочий лист, который получает все данные в объекты PowerShell, а затем экспортируйте эти объекты в CSV с помощью приведенной ниже команды.

Import-Excel ‘./processes.xlsx’ | Export-Csv -Path ‘./processes.csv’ -NoTypeInformation

Если вы сейчас откроете получившийся CSV-файл, вы увидите те же данные внутри рабочего листа «Processes» (в этом примере).

Конверсия множества рабочих листов

Если у вас есть книга Excel с несколькими листами, вы также можете создать файл CSV для каждого листа. Для этого вы можете найти все листы в книге с помощью командлета Get-ExcelSheetInfo. Когда у вас есть имена рабочих листов, вы можете передать их в параметр WorksheetName, а также использовать имя листа в качестве имени файла CSV.

Ниже вы можете найти необходимый пример кода.

## find each sheet in the workbook $sheets = (Get-ExcelSheetInfo -Path ‘./processes.xlsx’).Name ## read each sheet and create a CSV file with the same name foreach ($sheet in $sheets) {  Import-Excel -WorksheetName $sheet -Path ‘./processes.xlsx’ | Export-Csv «./$sheet.csv» -NoTypeInformation }

Заключение

Используя модуль ImportExcel PowerShell module, вы можете импортировать, экспортировать и управлять данными в книгах Excel точно так же, как и в CSV, без установки Excel!

Final Edit:

Sub CreationMacroAuto()

Dim Modulos As String


    Modulos = "C:/users/Sun/Desktop/StackOverflow/assign_value.bas" 'change filepath to yours


    ThisWorkbook.VBProject.VBComponents.Import Modulos

    Application.OnTime Now + TimeValue("0:00:01"), "callingNewSub"


End Sub


Sub callingNewSub()

    Call Module1.assign_value

End Sub

Put above code into one module. This code worked for me. You may also want to rename your Module1 to something else, for example «assign_value_mod», to reduce chance of errors.



Original Answer and Edits:

You need to add this reference to your code:

On Error Resume Next 'in case reference already exists

    ThisWorkbook.VBProject.References.AddFromGuid _
        GUID:="{0002E157-0000-0000-C000-000000000046}", _
        Major:=5, Minor:=3

On Error GoTo 0

EDIT: In fact, the error may rather be with Workbooks("try.xlsm"), as you should write the whole filepath here… Or if it is the workbook where you are calling the code from, then just use ThisWorkbook

EDIT2: try this:

Sub CreationMacroAuto()

    Dim Modulos As String

    Modulos = "C:My_macromacro.bas"

    On Error Resume Next 'in case reference already exists

        ThisWorkbook.VBProject.References.AddFromGuid _
            GUID:="{0002E157-0000-0000-C000-000000000046}", _
            Major:=5, Minor:=3

    On Error GoTo 0

    With ThisWorkbook.VBProject
        .VBComponents.Import Modulos
    End With

    Call Module1.assign_value()

End Sub

As for calling a macro: don’t write Call macro.bas but call the sub that is inside it. For example, the sub above is called CreationMacroAuto(), so you would call it Call CreationMacroAuto().

Ошибка компиляции в скрытом модуле: <module name>

Защищенный модуль содержит ошибку компиляции. Так как эта ошибка находится в защищенном модуле, ее нельзя отобразить.

Эта ошибка обычно возникает в случае несовместимости кода с версией или архитектурой данного приложения (например, код в документе рассчитан на 32-разрядные приложения Microsoft Office, однако предпринимается попытка его запуска в 64-разрядной версии Office).

Эта ошибка имеет следующие причину и решение:

  • Ошибка возникает при наличии ошибки компиляции в коде VBA внутри защищенного (скрытого) модуля. Эта ошибка компиляции не отображается, так как модуль является защищенным.

Если у вас есть доступ к коду VBA в документе или проекте, отмените защиту модуля, а затем запустите код еще раз для просмотра сведений об ошибке.

Если доступ к коду VBA в документе отсутствует, обратитесь к автору документа, чтобы он обновил код вскрытом модуле.

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Ошибка решается, проверкой не включенных модулей в окне VB,проверьте все ли необходимые модули включены,и есть ли эти модули на самом деле на ПК,возможно модуль отмечен,но сам отсутствует у меня проблему решило,включением специфических модулей для конкретного файла с расчетами.

Решение проблемы: Откройте файл в Excel – при помощи комбинации клавиш войдите в окно Visual Basic(ALT+F11), далее выберите меню “Tools-References” и посмотрите все ли отмеченные модули есть на самом деле на компьютере и все ли модули необходимые для работы Вашего макроса включены.

Error in Excel “Compile Error in Hidden Module”
Can be happen when Excel miss some reference to library.
For fix: Open Excel – Go to VB window -(ALT+F11).Open Tools-References and check unchecked modules(only needed for your Document).

Решения для ошибки компиляции в скрытом модуле в Excel или Word [Новости MiniTool]

ошибка компиляции в скрытом модуле

При использовании Excel или Word вы можете получить сообщение об ошибке «Ошибка компиляции в скрытом модуле». Что делать, чтобы избавиться от ошибки компиляции Word или Excel на ПК с Windows? Успокойтесь, и теперь вы можете получить несколько простых методов из этого сообщения, предлагаемого MiniTool .

Ошибка компиляции Excel или Word в скрытом модуле

При запуске Excel или Word на экране вашего компьютера может появиться сообщение «Ошибка компиляции в скрытом модуле». Модуль может быть thisworkbook, hstbarpublic, menuandtoolbar, aowd и т. Д.

Почему возникает ошибка компиляции? Это связано с тем, что Microsoft обновляет Office 2016 с 32-разрядной версии до 64-разрядной версии, но в Office есть несовместимые 32-разрядные надстройки. То есть некоторые надстройки содержат код, несовместимый с текущей версией Office 2016.

Что делать, чтобы избавиться от ошибки? Решения для вас ниже.

исправить не отвечающий Excel эскизУстранение неполадок Excel и спасение ваших данных (несколькими способами)

Вы хотите избавиться от Microsoft Excel, который не отвечает? В этом посте мы покажем вам несколько методов, которые могут эффективно решить эту проблему.

Исправления ошибок компиляции в скрытом модуле Excel или Word

Обновите Adobe Acrobat

Два файла шаблона Adobe Acrobat в папке Office могут вызвать сообщение об ошибке компиляции. Одно из возможных решений — обновить Adobe Acrobat.

Шаг 1. Щелкните это приложение, перейдите в Справка> Проверить обновления .

Шаг 2. Если есть обновления, нажмите Загрузить и установить .

Используйте CMD для регистрации файлов OCX

Чтобы исправить ошибку компиляции Excel, вам необходимо зарегистрировать некоторые файлы, необходимые для работы Excel. Просто следуйте этим инструкциям:

Шаг 1. Запустите командную строку (CMD) с правами администратора.

Шаг 2: Введите следующие команды и нажмите Войти после каждого:

В 32-битной Windows:

regsvr32 -u c: windows system32 mscomctl.ocx

regsvr32 c: windows system32 mscomctl.ocx

В 64-битной Windows:

regsvr32 -u c: windows syswow64 mscomctl.ocx

regsvr32 c: windows syswow64 mscomctl.ocx

Зарегистрируйте файлы OCX

Шаг 3: Запустите Excel и посмотрите, исправили ли вы ошибку компиляции в скрытом модуле.

Переместить файлы Pdfmaker в другую папку

Pdfmaker.xla и pdfmaker.dot — это два файла Adobe Acrobat, вызывающие ошибку компиляции. Итак, вы можете переместить эти файлы из папок MS Office, чтобы исправить проблему.

Шаг 1: введите pdfmaker.xla в поле поиска и щелкните его правой кнопкой мыши, чтобы выбрать Откройте расположение файла .

Шаг 2: В проводнике скопируйте и вставьте этот файл в другую папку, например на рабочий стол.

Шаг 3. Сделайте то же самое с файлом pdfmaker.dot.

Теперь вам нужно избавиться от ошибки компиляции в скрытом модуле.

Удалить файлы .exd

Если описанные выше решения не помогли, попробуйте удалить файлы .exd со своего компьютера. Это может быть полезно для исправления ошибки компиляции Excel или Word в скрытом модуле.

Шаг 1: нажмите Win + R , ввод %данные приложения% и нажмите Хорошо .

Шаг 2: нажмите Microsoft> Формы .

Шаг 3. Щелкните правой кнопкой мыши comctllib.exd и mscomctllib.exd и щелкните удалять чтобы удалить их по одному.

Обновите антивирус Norton

Norton Antivirus может быть связан с ошибкой компиляции в скрытом модуле. Если на вашем настольном компьютере или ноутбуке установлено это программное обеспечение, его обновление может помочь решить проблему.

Шаг 1. Перейти к эта ссылка и нажмите Обновите меня сейчас .

Шаг 2: Щелкните файл .exe, чтобы запустить его и завершить обновление.

Если обновление не может решить вашу проблему, вы можете удалить это антивирусное программное обеспечение со своего компьютера и посмотреть, удаляется ли ошибка. Просто обратитесь к этому сообщению — Четыре идеальных способа: как удалить программы в Windows 10 .

Конец

Вас беспокоит ошибка компиляции в скрытом модуле при использовании Word или Excel? Не принимайте это близко к сердцу. Попробовав эти методы, вы легко и эффективно избавитесь от этой проблемы.

   Ricco

19.09.06 — 13:50

Поддерживаю удаленно 1С Торговля 9.0. Выслал им свой внешний отчет с выводом в Excel. Дает ошибку:

Excel = СоздатьОбъект(«Excel.Application»)

Неудачная попытка создания объекта (Excel.Application)

Спрашивал, есть ли у них Excel, говорят есть и работает. Нет мыслей что может быть. Кто знает?

   smaharbA

1 — 19.09.06 — 13:52

1. авирь

2. ОО

3. нет прав на ОЛЕ

   AcaGost

2 — 19.09.06 — 13:52

(0) Пусть закроют Excel

   Ricco

3 — 19.09.06 — 13:57

(1) Нельзя узнать как регулируются права на OLE и что есть «ОО»?

   Азат

4 — 19.09.06 — 13:58

(3) OO — Open Office

   sapphire

5 — 19.09.06 — 14:13

(4) Ты его по OLE начился создавать? Тогда покажи пример.

   Ricco

6 — 19.09.06 — 15:07

(5)      Таб.Записать(Файл,»XLS»);

   Excel = СоздатьОбъект(«Excel.Application»);

   Excel.SheetsInNewWorkbook = 1;

   ФайлExcel = Excel.Workbooks.Open(Файл);

   Excel.DisplayAlerts = -1;

   ФайлExcel.Save();

   Excel.Visible=-1;

   ФайлExcel.Windows(1).Activate();

Но тут проблемная строчка «Excel = СоздатьОбъект(«Excel.Application»);» практически первая, до остальных даже не доходит.

   sapphire

7 — 19.09.06 — 15:11

А Excel установлен? 🙂
P.S:а зачем такой огород?

   sapphire

8 — 19.09.06 — 15:14

Попробуй
ЗапуститьПриложение(Файл);

   Ricco

9 — 19.09.06 — 15:14

(7) Excel установлен. А как проще?

   sapphire

10 — 19.09.06 — 15:15

Можешь у себя проверить через формульный калькулятор.
ЗапуститьПриложение(«C:test.xls»)

   Алгоритм

11 — 19.09.06 — 15:15

Excel = CreateObject(«Excel.Application»);

   Heckfy

12 — 19.09.06 — 15:16

У пользователя 1С в правах стоит Использование в качестве ОЛЕ сервера? И смотри

(11)

   sapphire

13 — 19.09.06 — 15:19

(11)(12) Судя по (6) это не нужно, достаточно (8)

   smaharbA

14 — 19.09.06 — 15:21

(5) по ОЛЕ ОО давно научен общаться и даже с 1С

   sapphire

15 — 19.09.06 — 15:25

(14) Это верно. Но, для этого нужно знать объектную модель ОО и как именно его вызывать.

   gr13

16 — 19.09.06 — 15:25

у меня было такое… просто офис не был установлен)))

   sapphire

17 — 19.09.06 — 15:25

(14) даже StarOffice 5.0 вызывался, но были проблемы с кодировками.

   Ricco

18 — 19.09.06 — 15:27

(8) Раз запустился, а больше не хочет. То есть файл создается но не открывается, не ругается

   sapphire

19 — 19.09.06 — 15:29

(18) Убей Excel-евские процессы

   sapphire

20 — 19.09.06 — 15:31

ЗапуститьПриложение отрабатывает аналогично проводнику — передает винде управление

   Ricco

21 — 19.09.06 — 15:31

(19) Как?

   sapphire

22 — 19.09.06 — 15:32

Через диспетчер задач — процессы

   gr13

23 — 19.09.06 — 15:39

(21) … гы гы гы… killtask

   gr13

24 — 19.09.06 — 15:40

tasklist
taskkill

   ru5t

25 — 19.09.06 — 18:10

вы должны закрыть ВСЕ экселевские процессы использующие файл, который вы хотите обработать. У меня так же были проблемы на этом этапе

   smaharbA

26 — 19.09.06 — 18:38

(19)-(25) да ну ? и это поможет для Excel = СоздатьОбъект(«Excel.Application»); ?

  

ru5t

27 — 19.09.06 — 20:04

да , при наличии соответствующих прав .

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Winrarsfx ошибка файл защищен паролем
  • Winrar ошибка при извлечении