Come automatizzare Microsoft Word utilizzando Visual Basic per creare un nuovo documento

Traduzione articoli Traduzione articoli
Identificativo articolo: 313193 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sommario

In questo articolo viene descritto come creare un nuovo documento in Word utilizzando l'automazione da Visual Basic.

Codice di esempio

Il codice di esempio in questo articolo viene illustrato come eseguire le operazioni seguenti:
  • Inserire testo e la formattazione di paragrafi.
  • Individuare e modificare vari intervalli all'interno di un documento.
  • Inserire tabelle, formattare le tabelle e popolare le tabelle con dati.
  • Aggiungere un grafico.
Per creare un nuovo documento di Word utilizzando l'automazione da Visual Basic, attenersi alla seguente procedura:
  1. In Visual Basic, creare un nuovo progetto EXE standard. In base all'impostazione predefinita, viene creato il progetto Form1.
  2. Scegliere riferimenti dal menu progetto , scegliere una delle seguenti opzioni e scegliere OK :
    • Per Office Word 2007, fare clic su Microsoft Word 12.0 Object Library .
    • Per Word 2003, fare clic su Microsoft Word 11.0 Object Library .
    • Per Word 2002, fare clic su Microsoft Word 10.0 Object Library .
    • Per Word 2000, fare clic su Microsoft Word 9.0 Object Library .
  3. Aggiungere un controllo CommandButton al Form1.
  4. Aggiungere il seguente codice all'evento Click per Command1:
        Dim oWord As Word.Application
        Dim oDoc As Word.Document
        Dim oTable As Word.Table
        Dim oPara1 As Word.Paragraph, oPara2 As Word.Paragraph
        Dim oPara3 As Word.Paragraph, oPara4 As Word.Paragraph
        Dim oRng As Word.Range
        Dim oShape As Word.InlineShape
        Dim oChart As Object
        Dim Pos as Double
    
        'Start Word and open the document template.
        Set oWord = CreateObject("Word.Application")
        oWord.Visible = True
        Set oDoc = oWord.Documents.Add
        
        'Insert a paragraph at the beginning of the document.
        Set oPara1 = oDoc.Content.Paragraphs.Add
        oPara1.Range.Text = "Heading 1"
        oPara1.Range.Font.Bold = True
        oPara1.Format.SpaceAfter = 24    '24 pt spacing after paragraph.
        oPara1.Range.InsertParagraphAfter
        
        'Insert a paragraph at the end of the document.
        '** \endofdoc is a predefined bookmark.
        Set oPara2 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)
        oPara2.Range.Text = "Heading 2"
        oPara2.Format.SpaceAfter = 6
        oPara2.Range.InsertParagraphAfter
        
        'Insert another paragraph.
        Set oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)
        oPara3.Range.Text = "This is a sentence of normal text. Now here is a table:"
        oPara3.Range.Font.Bold = False
        oPara3.Format.SpaceAfter = 24
        oPara3.Range.InsertParagraphAfter
        
        'Insert a 3 x 5 table, fill it with data and make the first row
        'bold,italic.
        Dim r As Integer, c As Integer
        Set oTable = oDoc.Tables.Add(oDoc.Bookmarks("\endofdoc").Range, 3, 5)
        oTable.Range.ParagraphFormat.SpaceAfter = 6
        For r = 1 To 3
            For c = 1 To 5
                oTable.Cell(r, c).Range.Text = "r" & r & "c" & c
            Next
        Next
        oTable.Rows(1).Range.Font.Bold = True
        oTable.Rows(1).Range.Font.Italic = True
        
        'Add some text after the table.
        'oTable.Range.InsertParagraphAfter
        Set oPara4 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)
        oPara4.Range.InsertParagraphBefore
        oPara4.Range.Text = "And here's another table:"
        oPara4.Format.SpaceAfter = 24
        oPara4.Range.InsertParagraphAfter
        
        'Insert a 5 x 2 table, fill it with data and change the column widths.
        Set oTable = oDoc.Tables.Add(oDoc.Bookmarks("\endofdoc").Range, 5, 2)
        oTable.Range.ParagraphFormat.SpaceAfter = 6
        For r = 1 To 5
            For c = 1 To 2
                oTable.Cell(r, c).Range.Text = "r" & r & "c" & c
            Next
        Next
        oTable.Columns(1).Width = oWord.InchesToPoints(2)   'Change width of columns 1 & 2.
        oTable.Columns(2).Width = oWord.InchesToPoints(3)
        
        'Keep inserting text. When you get to 7 inches from top of the
        'document, insert a hard page break.
        Pos = oWord.InchesToPoints(7)
        oDoc.Bookmarks("\endofdoc").Range.InsertParagraphAfter
        Do
            Set oRng = oDoc.Bookmarks("\endofdoc").Range
            oRng.ParagraphFormat.SpaceAfter = 6
            oRng.InsertAfter "A line of text"
            oRng.InsertParagraphAfter
        Loop While Pos >= oRng.Information(wdVerticalPositionRelativeToPage)
        oRng.Collapse (wdCollapseEnd)
        oRng.InsertBreak wdPageBreak
        oRng.Collapse wdCollapseEnd
        oRng.InsertAfter "We're now on page 2. Here's my chart:"
        oRng.InsertParagraphAfter
        
        'Insert a chart and change the chart.
        Set oShape = oDoc.Bookmarks("\endofdoc").Range.InlineShapes.AddOLEObject( _
            ClassType:="MSGraph.Chart.8", FileName _
            :="", LinkToFile:=False, DisplayAsIcon:=False)
        Set oChart = oShape.OLEFormat.Object
        oChart.charttype = 4 'xlLine = 4
        oChart.Application.Update
        oChart.Application.Quit
        '... If desired, you can proceed from here using the Microsoft Graph 
        'Object model on the oChart object to make additional changes to the
        'chart.
        oShape.Width = oWord.InchesToPoints(6.25)
        oShape.Height = oWord.InchesToPoints(3.57)
        
        'Add text after the chart.
        Set oRng = oDoc.Bookmarks("\endofdoc").Range
        oRng.InsertParagraphAfter
        oRng.InsertAfter "THE END."
    
        'All done. Unload this form.
        Unload Me
    					
  5. Premere F5 per eseguire il programma e quindi fare clic su Command1 .
Una volta completato il codice, esaminare il documento è stato creato. Il documento contiene due pagine di un grafico, tabelle e paragrafi formattati.

Utilizzare un modello

Se si utilizza automazione per creare i documenti in un formato comune, possono beneficiare di avviare il processo con un nuovo documento è basato su un modello preformattata. Utilizzo di un modello con il client di automazione di Word presenta due vantaggi significativi rispetto creazione di un documento dal nulla:
  • Puoi avere maggiore controllo sulla formattazione e selezione host di oggetti all'interno dei documenti.
  • È possibile creare i documenti con meno codice.
Utilizzando un modello, è possibile ottimizzare il selezione host di tabelle, paragrafi e altri oggetti all'interno del documento, nonché includere la formattazione a tali oggetti. Utilizzando l'automazione, è possibile creare un nuovo documento che a seconda del modello con codice such as quanto segue:
oWord.Documents.Add "<Path to your template>\MyTemplate.dot"
				
nel modello, è possibile definire il segnalibri in modo che l'automazione di client possibile inserire testo variabile in una posizione specifica nel documento, come segue:
oDoc.Bookmarks("MyBookmark").Range.Text = "Some Text Here"
				
un altro vantaggio di utilizzare un modello è che possibilità di creare e memorizzare gli stili di formattazione che si desidera applicare in fase di esecuzione, come illustrato di seguito:
oDoc.Bookmarks("MyBookmark").Range.Style = "MyStyle"
				
- o -
oWord.Selection.Style = "MyStyle"
				

Riferimenti

Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
220607Automazione di eseguire la stampa unione da Visual Basic
285332Automazione di Word 2002 con Visual Basic per creare una stampa unione
285333INFORMAZIONI: Word 2002 MailMerge eventi codice dimostrativo
Per ulteriori informazioni, visitare i seguenti siti Web di Microsoft Developer Network (MSDN) (informazioni in lingua inglese):
Sviluppo di Microsoft Office con Visual Studio
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx
(c) Microsoft Corporation 2001, tutti i diritti riservati. Con il contributo di Lori B. Turner, Microsoft Corporation.

Proprietà

Identificativo articolo: 313193 - Ultima modifica: lunedì 16 aprile 2007 - Revisione: 6.1
Le informazioni in questo articolo si applicano a:
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Office Word 2007
  • Microsoft Office Word 2003
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
Chiavi: 
kbmt kbexpertiseinter kbautomation kbhowtomaster KB313193 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 313193
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com