Você está offline; aguardando reconexão

Como automatizar o Microsoft Word usando o Visual Basic para criar um novo documento

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 313193
Sumário
Este artigo passo a passo descreve como criar um novo documento no Word usando automação do Visual Basic.

Código de exemplo

O código de exemplo neste artigo demonstra como fazer o seguinte:
  • Inserir parágrafos com texto e formatação.
  • Procurar e modificar vários intervalos em adocument.
  • Inserir tabelas, Formatar tabelas e preencher a comeliminação de tabelas.
  • Adicione um gráfico.
Para criar um novo documento do Word usando automação do Visual Basic, execute essas etapas:
  1. No Visual Basic, crie um novo projecto EXE padrão. Form1is criado por padrão.
  2. No menu Project, clique emReferences, clique em uma das opções a seguir e, em seguida, clique em OK:
    • Para o Office Word 2007, clique em Microsoft Word 12.0 Object Library.
    • Para o Word 2003, clique em Microsoft Word 11.0 Object Library.
    • Para o Word 2002, clique em Microsoft Word 10.0 Object Library.
    • Para o Word 2000, clique em Microsoft Word 9.0 Object Library.
  3. Adicione um controle CommandButton ao Form1.
  4. Adicione o seguinte código ao evento Click de 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. Pressione F5 para executar o programa e, em seguida, clique em Command1.
Após a conclusão do código, examine o documento que foi criado para você. O documento contém duas páginas de um gráfico, tabelas e parágrafos formatados.

Usar um modelo

Se você estiver usando automação para criar documentos que estão em um formato comum, você poderá iniciar o processo com um novo documento com base em um modelo pré-formatado. Usando um modelo com seu cliente de automação do Word tem duas vantagens significativas sobre a criação de um documento a partir do nada:
  • Você pode ter maior controle sobre a formatação andplacement de objetos em seus documentos.
  • Você pode criar documentos com menos código.
Usando um modelo, você pode ajustar o posicionamento de tabelas, parágrafos e outros objetos no documento, bem como incluir formatação nesses objetos. Usando automação, você pode criar um novo documento baseado no modelo com um código como o seguinte:
oWord.Documents.Add "<Path to your template>\MyTemplate.dot"				
No modelo, você pode definir indicadores para que o cliente de automação pode preencher variável de texto em um local específico no documento, da seguinte maneira:
oDoc.Bookmarks("MyBookmark").Range.Text = "Some Text Here"				
Outra vantagem de usar um modelo é que você pode criar e armazenar estilos de formatação que deseja aplicar em tempo de execução, como a seguir:
oDoc.Bookmarks("MyBookmark").Range.Style = "MyStyle"				
- ou -
oWord.Selection.Style = "MyStyle"				
Referências
Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento Microsoft:
220607 Como automatizar o Microsoft Word para criar mala direta a partir do Visual Basic
285332 Como automatizar o Word 2002 com o Visual Basic para criar uma mala direta
285333 INFO: O Word 2002 MailMerge eventos código demonstração
Para obter mais informações, consulte os seguintes sites da Microsoft Developer Network (MSDN):
Desenvolvimento do Microsoft Office com o Visual Studio
http://msdn2.microsoft.com/en-us/library/aa188489 (office.10).aspx
(c) Microsoft Corporation 2001, todos os direitos reservados. Contribuições de Lori B. Turner, da Microsoft Corporation.

WD2007

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 313193 - Última Revisão: 03/22/2015 10:50:00 - Revisão: 7.0

Microsoft Visual Basic 6.0 Professional Edition, Microsoft Office Word 2007, Microsoft Word 2002 Standard Edition, Microsoft Word 2000 Standard Edition

  • kbexpertiseinter kbautomation kbhowtomaster kbmt KB313193 KbMtpt
Comentários