Newsgroup: it.comp.lang.delphi
Titolo: [d5] ole automation office con open office

ciao a tutti, qualcuno sa se i comandi ole di word funzionano su open 
office?
Simone 

 office?
Mi aspetterei di no!
Gp

 office?
Assolutamente no, se cerchi trovi documentazione ... purtroppo l'avevo 
ma non ce l'ho sottomano.
-- 
================================================================
Alberto Rubinelli - A2 SISTEMI 
news.aioe.org
 ThunderBird 2.0.0.14
Via Costantino Perazzi 22 - 28100 NOVARA - ITALY
Tel 0321 640149   Fax 0321 391769   BBS 0321 392320
Mail: 
alb...@oldcomputers.de
skype: albertorubinelli  ICQ : 49872318
Visita il mio museo di computers: 
http://www.oldcomputers.it
================================================================

 ciao a tutti, qualcuno sa se i comandi ole di word funzionano su open office?
googla prima di chiedere:
http://www.oooforum.org/forum/viewtopic.phtml?t=9815
-- 
Morde

in effetti ho visto che sono 2 ole completamente diversi... 

 in effetti ho visto che sono 2 ole completamente diversi...
Di fatto openoffice si appoggia alla VM di java rendendo piu' semplice 
attività simili a queste.
Ciao
-- 
Morde

 
http://www.oooforum.org/forum/viewtopic.phtml?t=9815
Molto interessante il post che hai linkato ... me lo ero perso ! avevo 
memorizzato qualcosa ma sicuramente roba molto piu' datata.


> in effetti ho visto che sono 2 ole completamente diversi...
Scusa, Simone...
Due prodotti "diversi" fatti da due aziende diverse...
Mica entri in una bmw e ti aspetti che i comandi siano identici a
quelli di una tata.....
Inoltre, se guardi ole automation di powerpoint scoprirai che ha ben
pochi punti di contatto con quella di word o excel, e si tratta di 3
cose fatte tutte da zio billy....
Pax vobiscum
A.

grazie, sto cercando di aprire un file .doc di word, sostituire alcuni 
caratteri presenti e poi lanciare la stampa senza che l'utente interagisca 
con open office, con word avevo giï¿œ tutto, perï¿œ il cliente deve per forza 
usare openoffice
Simo

 usare openoffice
Questo non è un problema: hai i riferimenti di openoffice per 
automatizzarlo, il resto non e' altro che studio e pratica ;-)
Al limite, c'è sempre google, dal quale ho trovato questo:
http://development.openoffice.org/
piu' sotto c'e' la sezione vb/delphi, apri i link e benvenuto nel 
meraviglioso mondo dell'automazione a sorgente aperto :-D
Quando sarai riuscito (cosa sulla quale non nutro alcun dubbio) posta 
il codice che hai utilizzato, così che resti a beneficio della 
community :-)
Ciao
-- 
Morde

 meraviglioso mondo dell'automazione a sorgente aperto :-D
Aggiungo che scaricando l'SDK e installandolo, troverai nella cartella 
degli esempi OLE\delphi un pdf, StarOffice_and_Delphi.pdf, che ti 
spiega come iniziare. Poi c'e' anche un progetto che purtroppo ha i dfm 
in formato binario che purtroppo con D7 nè con D5 riesco a leggere.
Ciao
-- 
Morde

già fatto ieri, sto cercando di farlo andare :PPP 

se può servire ho trovato pure questa libreria già pronta:
http://sourceforge.net/project/showfiles.php?group_id=87718&package_id=133853

 
http://sourceforge.net/project/showfiles.php?group_id=87718&package_i.
..
Grande, ragazzi.
Sono contento che un utente si sia "convertito" all'opensource e che
il risultato sia affrontare quete tematiche legate a openoffice sul
ng.
Diffondere queste informazioni è fondamentale ed è utile a tuti.
Credo che coloro che spingono l'opensource saranno molto molto
contenti.
Pax vobiscum!
A.

si per� sono arenato su un problema...
non riesco ad aprire il file, mi da errore, bisogna mettere in formato
file:/// o c:\nomefile??? ho una serie di file word da aprire su writer
procedure TForm1.Button1Click(Sender: TObject);
  var
    objServiceManager: Variant;
    Stardesktop: Variant;
    doc: Variant;
    text: Variant;
begin
  objServiceManager := CreateOleObject('com.sun.star.ServiceManager');
  Stardesktop :=
objServiceManager.createInstance('com.sun.star.frame.Desktop');
  doc := StarDesktop.LoadComponentFromURL(edit1.text, '_blank', 0,
VarArrayCreate([0, - 1], varVariant)); //open
  //doc := Stardesktop.LoadComponentFromURL('private:factory/swriter',
'_blank', 0, VarArrayCreate([0, - 1], varVariant));
  text := doc.getText;
  text.setString('Hello World');
end;

Simone, se mi scrivi un altra volta in privato finisci nel killfile.
Grazie.
A.

> non riesco ad aprire il file, mi da errore
Ancora coi post da utente finale??
A.

avevo sbagliato tasto ... perdonami
Simo

ecco l'esempio: apre il file edit1.text e fa una sostituzione di stringa
function TForm1.ConvertToURL(FileName:string):string;
begin
  if LowerCase(Copy(FileName, 1, 8))<>'file:///' then Result:='file:///';
  Result:=Result+StringReplace(FileName, '\', '/', [rfReplaceAll, 
rfIgnoreCase]);
end;
procedure TForm1.Button1Click(Sender: TObject);
  var
    objServiceManager: Variant;
    Stardesktop: Variant;
    doc: Variant;
    text: Variant;
    dummy:variant;
    oSrch,oFound,objText,objCursor,oSearchDesc:variant;
begin
  objServiceManager := CreateOleObject('com.sun.star.ServiceManager');
  Stardesktop := 
objServiceManager.createInstance('com.sun.star.frame.Desktop');
  doc := StarDesktop.LoadComponentFromURL(ConvertToURL(edit1.text), 
'_blank', 0, VarArrayCreate([0, - 1], varVariant)); //open
  objText := Doc.GetText;
  objCursor := objText.createTextCursor;
  oSrch := doc.createReplaceDescriptor;
  oSrch.setSearchString ('stringa da cercare');
  oSrch.setReplaceString ('stringa sostituita');
  Doc.replaceAll(oSrch);
END;