|
![]() |
#1 |
Участник
|
Хотелось бы конечно API функциями
|
|
![]() |
#2 |
Участник
|
API (чисто из аксы) функциями можно конечно, но не за чем. Я считаю акса не для этого сделана, для этого есть .net.
Вот тебе dll Interop.Dsofile.rar (dll от Microsoft, скачал по ссылке выше), ее подключаешь к аксе. И вот тебе код X++: static void Job129(Args _args) { FilePath filePath = "C:\\1.xls"; DSOFile.OleDocumentPropertiesClass oleDocument = new DSOFile.OleDocumentPropertiesClass(); DSOFile.SummaryProperties summaryProperties; ; oleDocument.Open(filePath, true, DSOFile.dsoFileOpenOptions::dsoOptionOpenReadOnlyIfNoWriteAccess); // Extract the properties summaryProperties = oleDocument.get_SummaryProperties(); info(summaryProperties.get_Title()); info(summaryProperties.get_Author()); info(summaryProperties.get_Company()); // Close the DSOFile.OleDocumentPropertiesClass oleDocument.Close(false); } Последний раз редактировалось Kainix; 20.06.2013 в 19:11. |
|
|
За это сообщение автора поблагодарили: Player1 (1). |
![]() |
#3 |
Участник
|
|
|
![]() |
#4 |
Участник
|
Цитата:
версия Ах3
Регистрируем DLL, копируй win\system32 в командной строке regsvr32 dsofile.dll. Либо в любое место на компе тогда regsvr32 [путь]dsofile.dll. Пишем код X++: static void Job130(Args _args) { Com oleDocument = new Com('{58968145-CF05-4341-995F-2EE093F6ABA3}'); Com summaryProperties; FilePath filePath = "C:\\1.xls"; ; oleDocument.Open(filePath, true, 1); // Extract the properties summaryProperties = oleDocument.SummaryProperties(); info(summaryProperties.Title()); info(summaryProperties.Author()); info(summaryProperties.Company()); // Close the DSOFile.OleDocumentPropertiesClass oleDocument.Close(false); info(""); } |
|