|  | 
|  26.08.2008, 12:32 | #1 | 
| Участник |  диалоговое окно при закрытии файла Excel 
			
			Уважаемы посетители форума. Подскажите, пожалуйста, как бороться со следующей проблемой. Работаю с докуметом Excel из AXAPTA. Открываю его, беру небходимые данные, а потом закрываю. X++: SysExcelApplication sysExcelApplication;
Filename                  fileName;
;
sysExcelApplication = SysExcelApplication::construct();
sysExcelApplication.workbooks().open(fileName, 0, false);
...
sysExcelApplication.quit();P.S. AX 3.0. | 
|  | 
|  26.08.2008, 12:48 | #2 | 
| Модератор | 
			
			А если открыть файл просто на чтение? может параметр какой есть в Open ? попробывать метод Visible(false) ? sysExcelApplication.workbooks().close() ? Последний раз редактировалось Poleax; 26.08.2008 в 12:54. | 
|  | 
|  26.08.2008, 12:59 | #3 | 
| Участник | Цитата: Метод visible(false) тоже пробовала не помогает. | 
|  | 
|  26.08.2008, 12:49 | #4 | 
| Участник | 
			
			можно попробовать программно перед этим сохранить.
		 | 
|  | 
|  26.08.2008, 12:57 | #5 | 
| Участник | 
			
			Попробуйте sysExcelApplication.displayAlerts(false). Если не поможет смотрите метод closeDocument в ComExcelDocument_RU. Там есть параметр save. Или переходите на использование ComExcelDocument_RU или реализуйте подобное в sysExcelApplication.
		 Последний раз редактировалось _scorp_; 26.08.2008 в 13:01. | 
|  | 
|  26.08.2008, 13:06 | #6 | 
| Участник | Цитата:  Также спасибо всем ответившим за советы и полезные ссылки  Обязательно пригодится! | 
|  | 
|  26.08.2008, 13:27 | #7 | 
| Moderator | 
			
			Думаю, в первоначальную версию достаточно было добавить перед quit такой оператор: X++: sysExcelWorkbook.comObject().Saved(true);X++: sysExcelApplication.workbooks().item(1).comObject().Saved(true); | 
|  | 
|  26.08.2008, 12:59 | #8 | 
| Модератор | 
			
			из Excell в Акспату через COM есть пример кода.. может что то там интересно для себя найдешь.
		 | 
|  | 
|  26.08.2008, 13:02 | #9 | 
| Модератор | Цитата: 
		
			Excel Export static void exportVendorToExcelTEST1(Args _args) { SysExcelApplication SysExcelApplication; SysExcelWorksheet SysExcelWorksheet; SysExcelWorksheets SysExcelWorksheets; SysExcelWorkbooks SysExcelWorkbooks; SysExcelWorkbook SysExcelWorkbook; SysExcelRange SysExcelRange; SysExcelCell SysExcelCell; SysExcelCells SysExcelCells; COMVariant COMVariant1; Kriterler kriterler; VendTable vtab; Dialog dialog = new Dialog(); DialogField dflItem = dialog.addField(typeid(VendAccount)); #excel ; while select vtab where vtab.AccountNum like "S0000*" { try { sysExcelApplication = SysExcelApplication::construct(); sysExcelApplicatioN.displayAlerts(FALSE); sysExcelApplication.visible(FALSE); sysExcelWorkbooks = sysExcelApplication.workbooks(); // for filename sysExcelApplication.workbooks().open("C:\\"+vtab.AccountNum+".XLS"); sysExcelWorkbook = sysExcelApplication.workbooks().item(1); SysExcelWorksheets = sysExcelWorkbook.worksheets(); SysExcelWorksheet = SysExcelWorksheets.itemFromNum(1); SysExcelRange = SysExcelWorksheet.cells().range(#ExcelTotalRange); SysExcelCell = SysExcelWorksheet.cells().item(1,1); SysExcelCell.value(systemdateget()); SysExcelCell = SysExcelWorksheet.cells().item(2,2); SysExcelCell.value(vtab.AccountNum); sysExcelApplication.save(); sysExcelApplication.quit(); } catch (exception::Error) { } } } Посмотрите совет _scorp_ sysExcelApplicatioN.displayAlerts(FALSE); sysExcelApplication.visible(FALSE); | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Диалоговое окно с запросом | 3 | |||
| как считать значение из Excel - файла | 5 | |||
| Диалоговое окно | 2 | |||
| Диалоговое окно с Lookup полями | 1 | |||
| диалоговое окно в init (e) Report (a) | 8 | |||
| 
 |