AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.01.2010, 15:40   #1  
Storkich is offline
Storkich
Участник
 
149 / 10 (1) +
Регистрация: 08.03.2007
Если пользователь находясь в редактировании ячейки переключится в Navision и запустит выгрузку в Excel через Automation, то вероятнее всего возникнет ошибка.
Это можно обойти, используя CREATE(ExcelAppG, TRUE); вместо CREATE(objExcelAppG);
Но тогда будут плодиться процессы EXCEL.EXE

Создать Cudeunit скодом InitExcel[attachment=1122:InitExcel.txt]
Код:
OnRun()
CREATE(ExcelAppG);
IF ExcelAppG.Visible THEN;

CreateApp(VAR ExcelAppP : Automation "'Microsoft Excel 12.0 Object Library'.Application")
IF cuInitExcel.RUN THEN
  cuInitExcel.GetApp(ExcelAppP)
ELSE
  CREATE(ExcelAppP,TRUE);

GetApp(VAR ExcelAppP : Automation "'Microsoft Excel 12.0 Object Library'.Application")
ExcelAppP := ExcelAppG;
И вместо CREATE(objExcelApp)
сипользовать cuInitExcel.CreateApp(objXL_L);

Часто, в момент выгрузки, делаем ExcelAppG.Visible(FALSE). И при возникновении ошибки, Excel остается скрытым со всеми файлами.
Чтоб его отобразить делаем ярлык на скрипт show excel.vbs с кодом.
Код:
On Error Resume Next
set XL = getObject (,"Excel.Application")
if err.number = 0 then
  XL.visible = true
  XL.ScreenUpdating = true
end if
И запускаем, если что-то пропало с экрана.

Возможно это кому-то пригодится.
Вложения
Тип файла: txt InitExcel.txt (10.6 Кб, 381 просмотров)
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:06.