Discussione:
Delphi e Word
(troppo vecchio per rispondere)
Pasqualino Franco
2021-03-14 14:20:42 UTC
Permalink
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.
2021-03-15 07:00:58 UTC
Permalink
Post by Pasqualino Franco
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
2021-03-15 09:06:29 UTC
Permalink
Questo messaggio potrebbe essere inappropriato. Clicca per visualizzarlo
Enrico Bianchi
2021-03-19 17:19:14 UTC
Permalink
Post by Alberto Salvati
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
2021-03-22 12:00:44 UTC
Permalink
Post by Enrico Bianchi
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
Post by Enrico Bianchi
:)
Neanche loro riescono a salvarsi da COM... :-D

A.
Enrico Bianchi
2021-03-29 14:17:32 UTC
Permalink
Post by Alberto Salvati
Post by Enrico Bianchi
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
2021-03-30 09:33:57 UTC
Permalink
Post by Enrico Bianchi
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.

Loading...