ID do artigo: 305199 - Última revisão: segunda-feira, 16 de abril de 2007 - Revisão: 6.2

Como automatizar o Visio com o Visual Basic .NET

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sumário

Este artigo demonstra como automatizar o Visio usando o Visual Basic .NET.

Mais Informações

O código de automação de exemplo neste artigo faz o seguinte:
  • Desenha um fluxograma simples na página de desenho do Visio é baseada em dados contidos em uma matriz.
  • Nomes de página.
  • Salva o documento.
A matriz é bidimensional: O primeiro elemento contém o nome da forma e o segundo elemento contém o texto da forma.

Passos para criar o aplicativo .NET de exemplo do Visual Basic

  1. Inicie o Microsoft Visual Studio NET.. No menu arquivo , clique em novo e, em seguida, clique em Project . Clique em Project types em Projetos do Visual Basic , clique Windows Application em modelos . O Form1 é criado por padrão.
  2. Adicione uma referência à biblioteca de objeto do Visio. Para fazer isso, execute as seguintes etapas:
    1. No menu Project , clique em Add Reference .
    2. Na guia COM , clique em uma das opções a seguir e clique em Selecionar :
      • Para o Visio 2007, clique em Microsoft Visio 12.0 Type Library .
      • Para o Visio 2003, clique em Microsoft Visio 11.0 Type Library .
      • Para o Visio 2002, clique em Microsoft Visio 2002 Type Library .
      Observação Se você ainda não fez isso, a Microsoft recomenda que você baixe e instale o Microsoft Office XP Primary Interop Assemblies (PIAs).

      Para obter mais informações sobre PIAs do Office XP, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
      328912  (http://support.microsoft.com/kb/328912/ ) Microsoft Office XP módulos de interoperabilidade primários (PIAs) estão disponíveis para download
    3. Clique em OK na caixa de diálogo Add References para aceitar as seleções. Se você receber uma solicitação para gerar wrappers para as bibliotecas que você selecionou, clique em Sim .
  3. No menu Exibir , clique em caixa de ferramentas . Adicione um botão ao Form1.
  4. Clique duas vezes em Button1 . A janela de código abrirá no evento Click para Button1.
  5. Na janela código, substitua o código a seguir
    Private Sub Button1_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles Button1.Click
    End Sub
    					
    com:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
          System.EventArgs) Handles Button1.Click
       fBuildArray()
       fBuildFlowchart()
    End Sub
    					
  6. No menu Project , clique em Add Module .
  7. Substituir o conteúdo do Module1 com o seguinte:
    Module Module1
       Public aryValues(5, 2) As String
       Sub fBuildArray()
          aryValues(0, 0) = "Terminator"
          aryValues(1, 0) = "Document"
          aryValues(2, 0) = "Decision"
          aryValues(3, 0) = "Process"
          aryValues(4, 0) = "Terminator"
    
          aryValues(0, 1) = "Begin Routing Process"
          aryValues(1, 1) = "Gather Customer Data"
          aryValues(2, 1) = "Supported Issue?"
          aryValues(3, 1) = "Dispatch to Queue"
          aryValues(4, 1) = "End Routing Process"
       End Sub
    
       Sub fBuildFlowchart()
          Dim vApp As Visio.Application
          Dim vDoc As Visio.Document
          Dim vFromShape As Visio.Shape
          Dim vToShape As Visio.Shape
          Dim vConnector As Visio.Shape
          Dim vFlowChartMaster As Visio.Master
          Dim vConnectorMaster As Visio.Master
          Dim vStencil As Visio.Document
          Dim dblXLocation As Double
          Dim dblYLocation As Double
          Dim vBeginCell As Visio.Cell
          Dim vEndCell As Visio.Cell
          Dim iCount As Integer
          Const TEMPLATEPATH = "C:\Program Files\Microsoft Office\Visio10\1033\" _
             & "Solutions\Flowchart\Basic Flowchart Shapes (US units).vss"
    
          ' Change this constant to match your choice of location and file name.
          Const SAVENEWFILE = "C:\Simpleflowchart.vsd"
    
          ' Start point measured from the bottom left corner.
          dblXLocation = 4.25
          dblYLocation = 8.5
    
          vApp = New Visio.Application()
          'Create a new document; note the empty string.
          vDoc = vApp.Documents.Add("")
          vStencil = vApp.Documents.OpenEx(TEMPLATEPATH, 4)
    
          For iCount = LBound(aryValues) To UBound(aryValues) - 1
             vFlowChartMaster = vStencil.Masters(aryValues(iCount, 0))
             vToShape = vApp.ActivePage.Drop(vFlowChartMaster, _
                dblXLocation, dblYLocation)
             vToShape.Text = aryValues(iCount, 1)
             If Not vFromShape Is Nothing Then
                If vConnectorMaster Is Nothing Then
                   vConnectorMaster = vStencil.Masters("Dynamic Connector")
                End If
                vConnector = vApp.ActivePage.Drop(vConnectorMaster, 0, 0)
                vBeginCell = vConnector.Cells("BeginX")
                vBeginCell.GlueTo(vFromShape.Cells("AlignBottom"))
                vEndCell = vConnector.Cells("EndX")
                vEndCell.GlueTo(vToShape.Cells("AlignTop"))
                vConnector.SendToBack()
             End If
             vFromShape = vToShape
             vToShape = Nothing
             dblYLocation = dblYLocation - 1.5
          Next
          vDoc.Pages(1).Name = "Flowchart Example"
          Try
             ' Delete the previous version of the file.
             Kill(SAVENEWFILE)
          Catch
          End Try
          vDoc.SaveAs(SAVENEWFILE)
          vDoc.Close()
          vApp.Quit()
          vDoc = Nothing
          vApp = Nothing
          GC.Collect()
       End Sub
    End Module
    					
    anotação modificar a constante TEMPLATEPATH para apontar para a pasta de instalação do Visio. Por padrão, o local é uma das seguintes opções:
    • Para o Office Visio 2007, o local padrão é C:\Program Files\Microsoft Office\Visio12\1033\BASFLO_U.VSS.
    • Para o Visio 2003, o local padrão para este arquivo é C:\Program Files\Microsoft Office\Visio11\1033\BASFLO_U.VSS
    • Para o Visio 2002, o local padrão para este arquivo é C:\Program Files\Microsoft Visio\Visio10\1033\Solutions\Flowchart\Basic fluxograma Shapes (US units) .vss.
  8. No menu Debug , clique em Iniciar.
  9. Abra C:\Simpleflowchart.vsd no Visio para ver os resultados.

Referências

Para obter mais informações, consulte o seguinte Microsoft Developer site Network (MSDN):
Microsoft Office Development com Visual Studio
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx (http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft Office Visio Professional 2007
  • Microsoft Office Visio Professional 2003
  • Microsoft Visio 2002 Professional Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbexpertiseinter kbautomation kbhowto KB305199 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 305199  (http://support.microsoft.com/kb/305199/en-us/ )