Aprire un documento word

di il
4 risposte

Aprire un documento word

Salve, ho cercato davvero tanto in giro ma non sono riuscito a trovare alcuna guida/soluzione che potesse aiutarmi col mio problema.
Ho sviluppato un applicativo e mi servirebbe capire come posso fare per aprire un documento Word esistente.
La particolarità però è che vorrei poter passare al documento delle variabili che ho nel mio programma e stamparle in determinate posizioni. Dite che è possibile?
Avevo pensato in alternativa a creare un report ed utilizzare quello al posto del documento, così da poter stampare le variabili che mi servono, tuttavia sarebbe molto dispendioso in termini di tempo replicare i documenti word in un report.
Qualcuno sa come posso fare quanto richiesto? O eventualmente altre strade da seguire.
Grazie a tutti.

4 Risposte

  • Re: Aprire un documento word

    andrea25 ha scritto:


    Ho sviluppato un applicativo e mi servirebbe capire come posso fare per aprire un documento Word esistente.
    La particolarità però è che vorrei poter passare al documento delle variabili che ho nel mio programma e stamparle in determinate posizioni. Dite che è possibile?
    Puoi usare l'interfaccia COM esposta dagli applicativi di Office, in questo caso Word, per comandare il programma, aprire il file ed eseguire in modo "automatizzato" le operazioni che faresti manualmente all'interno del programma.

    Vedi questa documentazione a titolo esemplificativo.

    Ovviamente, Word deve essere installato sulla macchina per funzionare.

    L'alternativa è quella di adottare librerie e componenti di terze parti che sappiano gestire nativamente il formato di Word senza avere bisogno del programma completo (in questo caso dovrai forse investire qualche dollaro).

    Infine, potresti valutare di utilizzare un altro formato per la generazione del tuo report: dipende dalle caratteristiche che questo deve avere nel particolare.

    Ciao!
  • Re: Aprire un documento word

    Grazie mille, aiutandomi con la documentazione sono riuscito a tirare fuori il codice che mi serviva.
    In particolare prendere un file già esistente, modificarlo da codice e salvarlo, per poi visualizzarlo solo se necessario in un secondo momento.
    Adottare questa strada credo sia la meno dispendiosa in termini di tempo.
    Grazie
  • Re: Aprire un documento word

    andrea25 ha scritto:


    Grazie mille, aiutandomi con la documentazione sono riuscito a tirare fuori il codice che mi serviva.
    Magari posta il risultato finale che può essere utile a chiunque in futuro si trovi ad avere lo stesso problema: lo spirito del forum generalmente è questo.
  • Re: Aprire un documento word

    Alka ha scritto:


    andrea25 ha scritto:


    Grazie mille, aiutandomi con la documentazione sono riuscito a tirare fuori il codice che mi serviva.
    Magari posta il risultato finale che può essere utile a chiunque in futuro si trovi ad avere lo stesso problema: lo spirito del forum generalmente è questo.
    Si scusa hai ragione
    Il codice qui di seguito per chi volesse serve a modificare un file word già esistente e salvarne le modifihe, mantenendo l'applicazione in background. Le modifiche possono essere fatte in posizioni specifiche inserendo all'interno del file dei segnalibri, così da poter identificare da codice le posizioni desiderate.
    
    Dim objword As New Microsoft.Office.Interop.Word.Application
    dim filename as string = "C:\...\prova.docx"
    dim percorso as string = "C:\...\copia.docx"
    
    objword.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone
    objword.Visible = False
    objword.Documents.Add(CStr(filename))
    
    'inserisco del testo nel documento word dove è presente il segnalibro chiamato 'cliente'
    objword.Documents(1).Bookmarks.Item("Cliente").Select()
    objword.Selection.Text = _"dati da inserire"
    objword.Selection.Font.Size = 15
    objword.Selection.Font.Name = "Arial"
    objword.Selection.Font.Bold = 1
    
    'salvo il file
    objword.Documents(1).SaveAs2(CStr(percorso))
    objword.DisplayAlerts = Word.WdAlertLevel.wdAlertsAll
    objword.Documents.Close()
    objword.Quit()
    
Devi accedere o registrarti per scrivere nel forum
4 risposte