PDA

Ver la Versión Completa : Ayuda con automatizacion de OpenOffice


apicito
23-11-2006, 09:03:17
Alguien que sepa más que yo podría hecharme una mano para tratar de hacer que el open office aparezca insertado/embebido en mi formulario delphi. Osea que funcione igual que el ms office y que no se abra en una ventana distinta al formulario donde está el ole container.
El código para automtizarlo podría ser:
unit SampleCode;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
StdCtrls, ComObj, Variants;
type
TsampleCode = class
function CreateTextDocument(): Variant;
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
function TsampleCode.CreateTextDocument(): Variant;
var
ServiceManager: Variant;
StarDesktop: Variant;
Document: Variant;
begin
ServiceManager := CreateOleObject('com.sun.star.ServiceManager');
StarDesktop := ServiceManager.createInstance('com.sun.star.frame.Desktop');
Document := StarDesktop.LoadComponentFromURL('private:factory/swriter','_blank',0,VarArrayCreate([0, - 1], varVariant));
CreateTextDocument := Document;
end;
end.
Partiendo de este código, o de otro, podría conseguirse el comportamiento antes citado.
Gracias.

apicito
23-11-2006, 09:21:48
Buscando en Google he encontrado este consejo:

Try to see at com.sun.star.awt.XSystemDependentWindowPeer.

y la descripción de este interface está en:

http://api.openoffice.org/docs/common/ref/com/sun/star/awt/XSystemDependentWindowPeer.html

pero no entiendo nada de esto.