Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Delphi e Word

136 views
Skip to first unread message

Pasqualino Franco

unread,
Mar 14, 2021, 10:20:43 AM3/14/21
to
Ciao a tutti, mi sono appena iscritto e spero qualcuno mi possa aiutare. Preciso subito che non sono molto esperto di Delphi, ma lo sto usando per fare un'applicazione che deve fare una cosa: aprire un file .docx di Word con delle tabelle, già esistente ma vuoto di dati, dati che devo immettere prelevandoli da una tabella di un database che gestisco con FireDac. Non ho mai trattato un simile problema, qualcuno può aiutarmi? Grazie

Alessandro B.

unread,
Mar 15, 2021, 3:00:59 AM3/15/21
to
Il giorno domenica 14 marzo 2021 alle 15:20:43 UTC+1 pasquali...@gmail.com ha scritto:
> Ciao a tutti, mi sono appena iscritto e spero qualcuno mi possa aiutare. Preciso subito che non sono molto esperto di Delphi, ma lo sto usando per fare un'applicazione che deve fare una cosa: aprire un file .docx di Word con delle tabelle, già esistente ma vuoto di dati, dati che devo immettere prelevandoli da una tabella di un database che gestisco con FireDac. Non ho mai trattato un simile problema, qualcuno può aiutarmi? Grazie

Ciao, mi sembra una cosa piuttosto complessa da realizzare.
Comunque, per partire devi poter accedere a Word da codice Delphi.

A parte l'uso di componenti specifici (che non uso e non saprei consigliarti), l'accesso avviene tramite OLE.

Puoi cioè creare un oggetto che accede direttamente alle procedure di Word (sono le stesse che potresti utilizzare creando delle macro).

Io con Word l'unica cosa che ho implementato è stato creare un file a partire da un template
Di solito utilizzo OLE per Excel

Alberto Salvati

unread,
Mar 15, 2021, 5:06:30 AM3/15/21
to
On Sunday, March 14, 2021 at 3:20:43 PM UTC+1, xxxxxxxx wrote:
> Ciao a tutti, mi sono appena iscritto e spero qualcuno mi possa aiutare. Preciso subito che non sono molto esperto di Delphi, ma lo sto usando per fare un'applicazione che deve fare una cosa: aprire un file .docx di Word con delle tabelle, già esistente ma vuoto di dati, dati che devo immettere prelevandoli da una tabella di un database che gestisco con FireDac. Non ho mai trattato un simile problema, qualcuno può aiutarmi? Grazie

Ciao e benvenuto a bordo.

Non sei molto esperto di delphi...questa è una cosa buona, visto che delphi è finito...
Normalmente con cosa sviluppi, per curiosità?


Quello che chiedi PRESCINDE da delphi.
Che sia delphi, c#, java, python, passi SEMPRE da OLE automation.
Se cerchi "delphi word ole automation" troverai molti esempi.
La mia personale raccomandazione è di EVITARE come la peste componenti che fanno da wrapper.
Questi componenti in teoria di semplificano le cose, ma in realtà spesso ti ammanettano, legandoti a determinate versioni di word excel etc.

En passant, immagino che non sia banale, ma al tuo posto un occhio alle macro di word lo darei....
Magari se cerchi in giro trovi qualche macrogià pronta che fa ciò che ti e ti risparmi ti scrivere un programma apposito.

Infine, hai giustamente precisato che usi Firedac (ha un pò di cose progettate alla cazzo ma non è male...) ma per eventuali prossime volte precisa anche la versione di delphi e l'eventuale database.

A.





Enrico Bianchi

unread,
Mar 19, 2021, 1:19:17 PM3/19/21
to
On 2021-03-15, Alberto Salvati <zzz...@gmail.com> wrote:

> Che sia delphi, c#, java, python, passi SEMPRE da OLE automation.

Veramente non penso che in Python (ma anche in Java) si passi per OLE automation
:)

Enrico

Alberto Salvati

unread,
Mar 22, 2021, 8:00:45 AM3/22/21
to
> Veramente non penso che in Python (ma anche in Java) si passi per OLE automation

https://stackoverflow.com/questions/29611604/java-with-ole-outlook-on-netbeans

https://pbpython.com/windows-com.html

> :)

Neanche loro riescono a salvarsi da COM... :-D

A.



Enrico Bianchi

unread,
Mar 29, 2021, 10:17:38 AM3/29/21
to
On 2021-03-22, Alberto Salvati <zzz...@gmail.com> wrote:
>> Veramente non penso che in Python (ma anche in Java) si passi per OLE automation
> https://stackoverflow.com/questions/29611604/java-with-ole-outlook-on-netbeans
> https://pbpython.com/windows-com.html

Quello che intendevo è che per la gestione e la manipolazione di un documento
Word in Java o in Python, grazie anche al fatto che i documenti Office ora hanno
uno standard ben definito, invece di passare per OLE si editano direttamente
tramite libreria. Infatti, per Java abbiamo Apache POI e per Python abbiamo
python-docx, che possono manipolare direttamente i file Office in modo
multipiattaforma e svincolato da OLE. Per Delphi, a quanto pare esistono un po'
di librerie che ti permettono di manipolare i documenti Word senza passare per
OLE, ma sono tutte a pagamento (quella che costa di meno è questa:
http://www.scalabium.com/msword/index.htm )

Enrico

Alberto Salvati

unread,
Mar 30, 2021, 5:33:58 AM3/30/21
to

> Quello che intendevo è che per la gestione e la manipolazione di un documento
> Word in Java o in Python, grazie anche al fatto che i documenti Office ora hanno
> uno standard ben definito,

Ammetto che, FORTUNATAMENTE, è molto tempo che non faccio cose di questo tipo.
Lungi da me mettere in dubbio ciò che scrivi, sia chiaro, ma faccio veramente fatica a immaginare uno standard ben definito dei file di microsoft office....
Per non parlare di tutti i tentativi degli ultimi decenni di stabiliare un formato standard comune a tutti, cosa puntualmente respinta da microsoft, tipo OpenDoc negli anni 90.: https://en.wikipedia.org/wiki/OpenDoc
Poi, sono il primo a notare il "corto circuito" di linguaggi multipiattaforma come java e python che si appoggiano direttamente a qualcosa di nativo di una specifica piattaforma...

En passant, attivo la mia modalità polemica...
Tante "volpi" suggeriscono ad UTENTI FINALI di mollare windows + ms office e passare a qualche distro linuX e usare prodotti come libreoffice...
Ho smesso di litigarci ... seplicemente li invito a sottoscrivere e firmare un documento nel quale GARANTISCONO all'utente finale di turno che riusciranno ad arpire documenti creati con microsoft office ( word, excel, powerpoint e publisher...) vedendoli ESATTAMENTE come sono stati prodotti, modificarli e inviarli al mittente che riuscirà ad aprirli e vederli esattamente come sono.
Il tutto ovviamente (ma non per tutti) usando documenti massicci, tipo tesi di laurera, fogli con pesanti effetti di formattazione delle celle, macro che richiamano altri fogli con altre macro, presentazioni con tutti gli effetti possibili ed imamginabili e documenti publisher con numerose gabbite di testo immagini testo ruotato etc...
Fino ad oggi, nessuna "volpe" ha avuto IL FEGATO di accettare....


Sono 30 anni che microsoft "vince" tramite l'arma di office.
Tutti coloro che hanno sfidato microsoft in questo ambito nella miglore delle ipotesi hanno fallito, nel peggiori SONO FALLITI...
L'unio strumento che gli fa concorrenza sono le Google Apps, che hanno anche il vantaggio di non essere sovringegnerizzate....


A.
0 new messages