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.
O código de automatização de exemplo neste artigo efectua o seguinte:
Desenha um fluxograma simples página de desenho do Visio se baseia em dados contida na matriz.
Atribui a página.
Guarda 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 a aplicação do exemplo do Visual Basic .NET
Inicie o Microsoft Visual Studio NET.. No menu ficheiro , clique em Novo e em seguida, clique em projecto . Em tipos de projecto clique em Projectos do Visual Basic e clique em Windows Application em Templates . É criado o Form1 por predefinição.
Adicione uma referência à biblioteca de objectos do Visio. Para o fazer, siga estes passos:
No menu projecto , clique em Add Reference .
No separador COM , clique das seguintes opções e clique em Seleccionar :
Para o Visio 2007, clique em Microsoft Visio 12.0 biblioteca de tipos .
Para o Visio 2003, clique em Microsoft Visio 11.0 biblioteca de tipos .
Para o Visio 2002, clique em Tipo de biblioteca do Microsoft Visio 2002 .
Nota Se tiver não o fez, o Microsoft recomenda que transfira e instale o Microsoft Office XP Primary Interop Assemblies (PIAs).
Para obter mais informações sobre PIAs do Office XP, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
328912
(http://support.microsoft.com/kb/328912/
)
Microsoft Office XP principais interop assemblies (PIAs) estão disponíveis para transferência
Clique em OK na caixa de diálogo Adicionar referências para aceitar as selecções. Se receber um pedido para gerar wrappers para as bibliotecas que seleccionou, clique em Sim .
No menu Ver , clique em caixa de ferramentas dos controlos . Adicione um botão ao Form1.
Faça duplo clique em Button1 . Abre a janela de código no evento clicar para Button1.
Na janela de código, substitua o seguinte código
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
No menu projecto , clique em Add Module .
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
Nota modificar constante TEMPLATEPATH para apontar para a pasta de instalação do Visio. Por predefinição, a localização é um dos seguintes procedimentos:
Para o Office Visio 2007, a localização predefinida é C:\Program Files\Microsoft Office\Visio12\1033\BASFLO_U.VSS.
Para o Visio 2003, a localização predefinida para este ficheiro é C:\Program Files\Microsoft Office\Visio11\1033\BASFLO_U.VSS
Para o Visio 2002, a localização predefinida para este ficheiro é C:\Program Files\Microsoft Visio\Visio10\1033\Solutions\Flowchart\Basic formas de fluxograma .vss (unidades dos E.U.A.).
No menu Debug , clique em Iniciar.
Abra C:\Simpleflowchart.vsd no Visio para ver os resultados.
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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/
)
Qual foi o esforço que despendeu pessoalmente para utilizar este artigo?
Muito baixo
Baixo
Moderado
Elevado
Muito elevado
Diga-nos porquê e o que podemos fazer para melhorar estas informações
Obrigado! Os seus comentários são utilizados para ajudar-nos a melhorar o conteúdo do nosso suporte. Para obter mais opções de assistência, visite a Home Page de Ajuda e Suporte.