Banner

Aprire un documento MS Office di Word in una Form

Recentemente mi è capitato di dovere aprire un documento di Microsoft Word da una form, pertanto mi sono impegnato a cercare informazioni su come eseguire questa cosa. Cercando in rete ho trovato alcune soluzioni già pronte ed ho pensato di appuntarle e di riunirle in questa pagina.

NON SI TRATTA DI LAVORI ESEGUITI DAL SOTTOSCRITTO.

Metodo 1: utilizzo del componente WebBrowser.

Avviate un nuovo progetto e nella form inserite i seguenti componenti: Button, OpenFileDialog e WebBrowser, quindi digitate il codice seguente.

Public Class Form1

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Button1.Text = "Browse"

        With OpenFileDialog1
	    .Filter = "Office Documents " & "(*.doc, *.xls)|*.doc;*.xls"
            .FilterIndex = 1
        End With

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim strFileName As String

        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

            strFileName = OpenFileDialog1.FileName
            WebBrowser1.Navigate(strFileName)

        End If

    End Sub

End Class

Questo metodo funziona se nel proprio PC è installato il pacchetto Office, o comunque, il programma necessario a visualizzare il file scelto. La cosa interessante è che all'interno del componente WebBrowser viene visualizzata l'applicazione adatta a editare il file caricato; cioè se l'utente vuole aprire un file di Word, nel componente WebBrowser viene aperto MS Word con il documento selezionato in bella mostra.
Modificando o escludendo la proprietà Filter si possono aprire molti altri tipi di files: PDF,JPEG...

Metodo 2: utilizzo delle librerie "Microsoft Office xx.0 Object Library".

È necessario avere installato nel proprio editor di Visual Basic 2008 la libreria sopra citata: Microsoft Office 11.0 Object Library" ed aggiungerla come riferimento al progetto.
Per chi non avesse questo componente installato può reperirlo a questo indirizzo:

Office 2003 Update: Redistributable Primary Interop Assemblies

Avviate un nuovo progetto, e come nel precedente, inserite un Button e la finestra di dialogo OpenFileDialog, quindi digitate il seguente codice:

Imports Microsoft.Office.Interop

Public Class Form1

    Dim documentoWor d As New Word.Application

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Button1.Text = "Apri documento"
        OpenFileDialog1.Filter = "(*.doc)|*.doc"

    End Sub

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim nomeFile As String = Nothing

        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

            nomeFile = OpenFileDialog1.FileName
            documentoWord.Documents.Open(nomeFile)
            documentoWord.Visible = True

        End If

    End Sub

End Class

Con questo secondo metodo, l'apertura del file .doc avviene in MS Word stesso e non in un componente di Visual Basic 2008; l'editor di testi di casa Microsoft viene avviato da codice passandogli il nome del file da visualizzare e il tutto accade al di fuori della form della nostra applicazione Visual Basic.

Siti Ufficiali Editor Free Guide Online Utility
Microsoft Visual Studio MSDN InnoSetup
Apple XCode Documentazione .Net Cyber Installer
Oracle NetBeans Apple Developer NSIS
Debian Eclipse W3C Diagram Online
Distrowatch Bluefish W3C Validator Junior Icon Editor
Brackets W3Schools Edit Cursors Online
TextWrangler

Sito realizzato da Fiaschi Francesco - Aggiornamento Dicembre 2018

W3C - XHTML 1.1 Validated