Difference between revisions of "Office Automation/ru"
(Added Template:Platform only) |
|||
(9 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Platform only|Windows|Windows/ru|Windows}} | ||
{{Office Automation}} | {{Office Automation}} | ||
− | Возможность взаимодействовать с офисным программным обеспечением и создание электронных таблиц, текстовых документов и презентаций из кода может быть очень полезным в офисе, и выиграть много времени, для тех, кто может это сделать. Одним из таких примеров является создание приложений, которые могут читать файлы в произвольном формате и сохранять их в | + | Возможность взаимодействовать с офисным программным обеспечением и создание электронных таблиц, текстовых документов и презентаций из кода может быть очень полезным в офисе, и выиграть много времени, для тех, кто может это сделать. Одним из таких примеров является создание приложений, которые могут читать файлы в произвольном формате и сохранять их в Excel. Такую задачу гораздо более эффективно решить программно, нежели вручную. |
== Использование OpenOffice UNO Bridge == | == Использование OpenOffice UNO Bridge == | ||
− | OpenOffice имеет надстройки для использования в C++ и Java | + | OpenOffice имеет надстройки для использования в C++ и Java а в Windows также может использоваться автоматизация COM (см. ниже). По состоянию проекта Free Pascal на данный момент времени (ноябрь 2010) достаточно сложно использовать UNO (Universal Network Objects) в среде Object Pascal для OS X и Linux. Если Вы заинтересованны в разработке OO "bridge" для Pascal, пожалуйста следуйте по следующим ссылкам (внимание: these links are quite techie in true Sun fashion): |
[http://api.openoffice.org/ api.openoffice.org] | [http://api.openoffice.org/ api.openoffice.org] | ||
Line 11: | Line 12: | ||
== Использование COM Automation для работы с OpenOffice и Microsoft Office == | == Использование COM Automation для работы с OpenOffice и Microsoft Office == | ||
− | COM | + | Автоматизация COM существует только в Windows, поэтому следующие два примера не будут работать в OS X и-или Linux. Для этих платформ см. [http://wiki.lazarus.freepascal.org/Multiplatform_Programming_Guide#Making_do_without_Windows_COM_Automation Making do without Windows COM Automation]. Если вам нужно только создать и-или просмотреть текстовый документ из вашей программы, то обратите внимание на [http://web.fastermac.net/~MacPgmr/XDev/XDevStatus.html#RTF XDev Toolkit]. |
− | Вот простой пример того, как открыть документ из программы с помощью сервера автоматизации OpenOffice. Не забываем, что это работает только | + | Вот простой пример того, как открыть документ из программы с помощью сервера автоматизации OpenOffice. Не забываем, что это работает только в Windows. |
<PRE> | <PRE> | ||
Line 62: | Line 63: | ||
</PRE> | </PRE> | ||
− | Вот простой пример того, как открыть документ из программы с помощью сервера автоматизации Word. Не забываем, что это работает только | + | Вот простой пример того, как открыть документ из программы с помощью сервера автоматизации Word. Не забываем, что это работает только в Windows, и в настоящее время не может быть скомпилировано в Free Pascal 2.2, только в Delphi. Пожалуйста, проверьте эту информацию позже или протестируйте на болеее актуальной версии FPC. |
<PRE> | <PRE> | ||
program TestMsOffice; | program TestMsOffice; | ||
Line 100: | Line 101: | ||
== Использование библиотеки Free Pascal Spreadsheet == | == Использование библиотеки Free Pascal Spreadsheet == | ||
− | Еще один способ автоматизировать повседневную работу с электронными таблицами заключается в создании файла с помощью библиотеки [[FPSpreadsheet]]. Этот метод не требует наличия в системе какого-либо установленного стороннего (офисного) приложения и при этом поддерживает сразу несколько различных форматов. | + | Еще один способ автоматизировать повседневную работу с электронными таблицами заключается в создании файла с помощью библиотеки [[FPSpreadsheet/ru|FPSpreadsheet]]. Этот метод не требует наличия в системе какого-либо установленного стороннего (офисного) приложения и при этом поддерживает сразу несколько различных форматов. |
− | == | + | == Запись в файл Excel используя ADO == |
− | + | Пожалуйста, напишите мне. | |
− | == | + | == Дополнительные ссылки == |
− | * Excel | + | * Описание форматов файлов Excel на [http://sc.openoffice.org/excelfileformat.pdf сайте OpenOffice] |
+ | |||
+ | |||
+ | {{AutoCategory}} | ||
+ | [[Category:Russian (unfinished translation)]] | ||
+ | [[Category:FPC/ru]] | ||
+ | [[Category:Lazarus/ru]] | ||
+ | [[Category:Data import and export/ru]] | ||
+ | [[Category:Tutorials/ru]] |
Latest revision as of 21:20, 2 December 2016
Эта статья относится только к Windows.
См. также: Multiplatform Programming Guide
│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
italiano (it) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Возможность взаимодействовать с офисным программным обеспечением и создание электронных таблиц, текстовых документов и презентаций из кода может быть очень полезным в офисе, и выиграть много времени, для тех, кто может это сделать. Одним из таких примеров является создание приложений, которые могут читать файлы в произвольном формате и сохранять их в Excel. Такую задачу гораздо более эффективно решить программно, нежели вручную.
Использование OpenOffice UNO Bridge
OpenOffice имеет надстройки для использования в C++ и Java а в Windows также может использоваться автоматизация COM (см. ниже). По состоянию проекта Free Pascal на данный момент времени (ноябрь 2010) достаточно сложно использовать UNO (Universal Network Objects) в среде Object Pascal для OS X и Linux. Если Вы заинтересованны в разработке OO "bridge" для Pascal, пожалуйста следуйте по следующим ссылкам (внимание: these links are quite techie in true Sun fashion):
Использование COM Automation для работы с OpenOffice и Microsoft Office
Автоматизация COM существует только в Windows, поэтому следующие два примера не будут работать в OS X и-или Linux. Для этих платформ см. Making do without Windows COM Automation. Если вам нужно только создать и-или просмотреть текстовый документ из вашей программы, то обратите внимание на XDev Toolkit.
Вот простой пример того, как открыть документ из программы с помощью сервера автоматизации OpenOffice. Не забываем, что это работает только в Windows.
program TestOO; {$IFDEF FPC} {$MODE Delphi} {$ELSE} {$APPTYPE CONSOLE} {$ENDIF} uses SysUtils, Variants, ComObj; const ServerName = 'com.sun.star.ServiceManager'; var Server : Variant; Desktop : Variant; LoadParams : Variant; Document : Variant; TextCursor : Variant; begin if Assigned(InitProc) then TProcedure(InitProc); try Server := CreateOleObject(ServerName); except WriteLn('Unable to start OO.'); Exit; end; Desktop := Server.CreateInstance('com.sun.star.frame.Desktop'); LoadParams := VarArrayCreate([0, -1], varVariant); {Create new document} Document := Desktop.LoadComponentFromURL('private:factory/swriter', '_blank', 0, LoadParams); TextCursor := Document.Text.CreateTextCursor; {Insert existing document} //Substitute your path and doc TextCursor.InsertDocumentFromURL('file:///C|/my/path/mydoc.doc', LoadParams); end.
Вот простой пример того, как открыть документ из программы с помощью сервера автоматизации Word. Не забываем, что это работает только в Windows, и в настоящее время не может быть скомпилировано в Free Pascal 2.2, только в Delphi. Пожалуйста, проверьте эту информацию позже или протестируйте на болеее актуальной версии FPC.
program TestMsOffice; {$IFDEF FPC} {$MODE Delphi} {$ELSE} {$APPTYPE CONSOLE} {$ENDIF} uses SysUtils, Variants, ComObj; const ServerName = 'Word.Application'; var Server : Variant; begin if Assigned(InitProc) then TProcedure(InitProc); try Server := CreateOleObject(ServerName); except WriteLn('Unable to start Word.'); Exit; end; {Open existing document} //Substitute your path and doc Server.Documents.Open('c:\my\path\mydoc.doc'); Server.Visible := True; {Make Word visible} end.
Использование библиотеки Free Pascal Spreadsheet
Еще один способ автоматизировать повседневную работу с электронными таблицами заключается в создании файла с помощью библиотеки FPSpreadsheet. Этот метод не требует наличия в системе какого-либо установленного стороннего (офисного) приложения и при этом поддерживает сразу несколько различных форматов.
Запись в файл Excel используя ADO
Пожалуйста, напишите мне.
Дополнительные ссылки
- Описание форматов файлов Excel на сайте OpenOffice