Difference between revisions of "Office Automation/ru"

From Lazarus wiki
Jump to navigationJump to search
(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. Такую задачу гораздо более эффективно решить программно, нежели вручную.
+
Возможность взаимодействовать с офисным программным обеспечением и создание электронных таблиц, текстовых документов и презентаций из кода может быть очень полезным в офисе, и выиграть много времени, для тех, кто может это сделать. Одним из таких примеров является создание приложений, которые могут читать файлы в произвольном формате и сохранять их в Excel. Такую задачу гораздо более эффективно решить программно, нежели вручную.
  
 
== Использование OpenOffice UNO Bridge ==
 
== Использование OpenOffice UNO Bridge ==
OpenOffice имеет надстройки для использования в C++ и Java и в Windows также может использоваться COM Automation (см. ниже), но сейчас достаточно сложно использовать UNO (Universal Network Objects) из Object Pascal в OS X и Linux. Если Вы заинтересованны в разработке OO "bridge" для Pascal, пожалуйста следуйте по следующим ссылкам (внимание: these links are quite techie in true Sun fashion):
+
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 Automation существует только в 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].
+
Автоматизация 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. Не забываем, что это работает только на Windows.
+
Вот простой пример того, как открыть документ из программы с помощью сервера автоматизации OpenOffice. Не забываем, что это работает только в Windows.
  
 
<PRE>
 
<PRE>
Line 62: Line 63:
 
</PRE>
 
</PRE>
  
Вот простой пример того, как открыть документ из программы с помощью сервера автоматизации Word. Не забываем, что это работает только на Windows, и в настоящее время не может быть скомпилировано в Free Pascal 2.2, только в Delphi. Пожалуйста, проверьте эту информацию позже или протестируйте на болеее актуальной версии FPC.
+
Вот простой пример того, как открыть документ из программы с помощью сервера автоматизации 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]]. Этот метод не требует наличия в системе какого-либо установленного стороннего (офисного) приложения и при этом поддерживает сразу несколько различных форматов.
  
== Writing an Excel file using ADO ==
+
== Запись в файл Excel используя ADO ==
please write me.
+
Пожалуйста, напишите мне.
  
== External links ==
+
== Дополнительные ссылки ==
* Excel file format description on the [http://sc.openoffice.org/excelfileformat.pdf OpenOffice website]
+
* Описание форматов файлов 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 logo - 2012.svg

Эта статья относится только к 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):

api.openoffice.org

About_Bridges

Использование 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

Пожалуйста, напишите мне.

Дополнительные ссылки