Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 18:27

Ошибка при вызове конструктора (COMObject)

Автор Анжела, 30 окт 2018, 04:25

0 Пользователей и 1 гость просматривают эту тему.

AIFrame

Выполни batch-скрипт
@echo off
if defined ProgramFiles(x86) (
if exist "%ProgramFiles(x86)%\1cv8" (
goto WIN_X64
)
)
:WIN_X86
set FOLDER1C=%ProgramFiles%\1cv8
goto BODY
:WIN_X64
set FOLDER1C=%ProgramFiles(x86)%\1cv8

:BODY
echo 1C Located at - %FOLDER1C%
cd /d %FOLDER1C%
for /f "delims=" %%a in ('dir /b /ad /on "%FOLDER1C%\8*"') do set last_version_1c=%%a
echo Last found version is - %last_version_1c%
cd %last_version_1c%\bin
regsvr32 comcntr.dll
echo done
pause

Проверь работу COM кодом.
ExcelApplication = New COMObject("Excel.Application");
ExcelApplication.Visible = True;
ExcelBook = ExcelApplication.Workbooks.Add();
SheetsCount = ExcelBook.WorkSheets.Count();
While SheetsCount > 1 Do
ExcelBook.WorkSheets(SheetsCount).Delete();
SheetsCount = ExcelBook.WorkSheets.Count();
EndDo;

ExcelSheet = ExcelBook.WorkSheets(1);
ExcelSheet.Name = "Test";
ExcelSheet.Cells(1,1).Value = "This is test.";
ExcelSheet.Cells(2,1).Value = "And it's done.";

ExcelApplication = null;

Анжела

Цитата: AIFrame от 14 ноя 2018, 20:40
Выполни batch-скрипт
@echo off
if defined ProgramFiles(x86) (
if exist "%ProgramFiles(x86)%\1cv8" (
goto WIN_X64
)
)
:WIN_X86
set FOLDER1C=%ProgramFiles%\1cv8
goto BODY
:WIN_X64
set FOLDER1C=%ProgramFiles(x86)%\1cv8

:BODY
echo 1C Located at - %FOLDER1C%
cd /d %FOLDER1C%
for /f "delims=" %%a in ('dir /b /ad /on "%FOLDER1C%\8*"') do set last_version_1c=%%a
echo Last found version is - %last_version_1c%
cd %last_version_1c%\bin
regsvr32 comcntr.dll
echo done
pause

Проверь работу COM кодом.
ExcelApplication = New COMObject("Excel.Application");
ExcelApplication.Visible = True;
ExcelBook = ExcelApplication.Workbooks.Add();
SheetsCount = ExcelBook.WorkSheets.Count();
While SheetsCount > 1 Do
ExcelBook.WorkSheets(SheetsCount).Delete();
SheetsCount = ExcelBook.WorkSheets.Count();
EndDo;

ExcelSheet = ExcelBook.WorkSheets(1);
ExcelSheet.Name = "Test";
ExcelSheet.Cells(1,1).Value = "This is test.";
ExcelSheet.Cells(2,1).Value = "And it's done.";

ExcelApplication = null;


Это на сервере или клиенте?

AIFrame


Анжела

Цитата: AIFrame от 15 ноя 2018, 04:30
Ты про среду или 1С?
Среду, где стоит сам сервак к чему подкючаются или там запустить где подключаются?

AIFrame

Анжела,
Скрипт на регистрацию ком - там где его создаешь.
Код проверки ком в 1С - там, где ты его создаешь.
На том компе, где ты его создаешь.
Если ты сидишь в терминале на сервере 1С, значит там и запускай все.
Если в локалке с компа - значит там и запускай все.

Анжела

Цитата: AIFrame от 15 ноя 2018, 14:55
Анжела,
Скрипт на регистрацию ком - там где его создаешь.
Код проверки ком в 1С - там, где ты его создаешь.
На том компе, где ты его создаешь.
Если ты сидишь в терминале на сервере 1С, значит там и запускай все.
Если в локалке с компа - значит там и запускай все.

Все ровно не работает. Зарегистрировал компоненту + эксель поставил. Эксель 32 как и сервер.
Добавлено: 18 фев 2020, 04:58


Нужно ли перезагружать сервер при регистрации?
Можно ли запустить ком эксель на другом компутере?
Добавлено: 18 фев 2020, 05:53


Когда добавил пользователям в компоненте, Екселя вроде Я теперь получаю комп объект. Правда все ровно все методы с ошибками к ним доступа нет.

Добавлено: 18 фев 2020, 05:54


https://ibb.co/3Fx2BRr
Добавлено: 18 фев 2020, 08:14


Разобрался

Похожие темы (5)

Рейтинг@Mail.ru

Поиск