Você está offline; aguardando reconexão

Exemplo de macro para duplicar uma página no Visio

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

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: 290581
Para uma versão deste artigo do Microsoft Visio 2000, consulte 289859.
Sumário
Este artigo explica como duplicar uma página, juntamente com as formas na página específica, usando o Microsoft Visual Basic for Applications. O código de exemplo também fornece um exemplo de como usar a propriedade Page.PageSheet para obter acesso às células da ShapeSheet da página.
Mais Informações
Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.

Código de exemplo

O seguinte código de exemplo reproduz uma página.
Public Sub DuplicateActivePage()    Dim OriginalPage As Visio.Shape    Dim DuplicatePage As Visio.Shape        Dim ShapeDropX As Double    Dim ShapeDropY As Double        Set OriginalPage = ActivePage.PageSheet    ActiveWindow.SelectAll 'Select everything on the first page...    ActiveWindow.Group '...then group it all...    ActiveWindow.Copy '... then copy it to the clipboard.        ShapeDropX = ActiveWindow.Selection(1).Cells("PinX")     'Get the new Group's x position.    ShapeDropY = ActiveWindow.Selection(1).Cells("PinY")     'Get the new Group's y position.        Set DuplicatePage = ActiveDocument.Pages.Add.PageSheet     'Create the new page.        'Set attributes of the new page to be the same as the original page.    With DuplicatePage        .Cells("PageWidth") = OriginalPage.Cells("PageWidth")        .Cells("PageScale") = OriginalPage.Cells("PageScale")        .Cells("ShdwOffsetX") = OriginalPage.Cells("ShdwOffsetX")        .Cells("PageHeight") = OriginalPage.Cells("PageHeight")        .Cells("DrawingScale") = OriginalPage.Cells("DrawingScale")        .Cells("ShdwOffsetY") = OriginalPage.Cells("ShdwOffsetY")        .Cells("DrawingSizeType") = OriginalPage.Cells("DrawingSizeType")        .Cells("DrawingScaleType") = OriginalPage.Cells("DrawingScaleType")        .Cells("InhibitSnap") = OriginalPage.Cells("InhibitSnap")        .Cells("PlaceStyle") = OriginalPage.Cells("PlaceStyle")        .Cells("PlaceDepth") = OriginalPage.Cells("PlaceDepth")        .Cells("PlowCode") = OriginalPage.Cells("PlowCode")        .Cells("ResizePage") = OriginalPage.Cells("ResizePage")        .Cells("DynamicsOff") = OriginalPage.Cells("DynamicsOff")        .Cells("EnableGrid") = OriginalPage.Cells("EnableGrid")        .Cells("CtrlAsInput") = OriginalPage.Cells("CtrlAsInput")        .Cells("LineAdjustFrom") = OriginalPage.Cells("LineAdjustFrom")        .Cells("BlockSizeX") = OriginalPage.Cells("BlockSizeX")        .Cells("BlockSizeY") = OriginalPage.Cells("BlockSizeY")        .Cells("AvenueSizeX") = OriginalPage.Cells("AvenueSizeX")        .Cells("AvenueSizeY") = OriginalPage.Cells("AvenueSizeY")        .Cells("RouteStyle") = OriginalPage.Cells("RouteStyle")        .Cells("PageLineJumpDirX") = OriginalPage.Cells("PageLineJumpDirX")        .Cells("PageLineJumpDirY") = OriginalPage.Cells("PageLineJumpDirY")        .Cells("LineAdjustTo") = OriginalPage.Cells("LineAdjustTo")        .Cells("LineToNodeX") = OriginalPage.Cells("LineToNodeX")        .Cells("LineToNodeY") = OriginalPage.Cells("LineToNodeY")        .Cells("LineToLineX") = OriginalPage.Cells("LineToLineX")        .Cells("LineToLineY") = OriginalPage.Cells("LineToLineY")        .Cells("LineJumpFactorX") = OriginalPage.Cells("LineJumpFactorX")        .Cells("LineJumpFactorY") = OriginalPage.Cells("LineJumpFactorY")        .Cells("LineJumpCode") = OriginalPage.Cells("LineJumpCode")        .Cells("LineJumpStyle") = OriginalPage.Cells("LineJumpStyle")        .Cells("XRulerOrigin") = OriginalPage.Cells("XRulerOrigin")        .Cells("YRulerOrigin") = OriginalPage.Cells("YRulerOrigin")        .Cells("XRulerDensity") = OriginalPage.Cells("XRulerDensity")        .Cells("YRulerDensity") = OriginalPage.Cells("YRulerDensity")        .Cells("XGridOrigin") = OriginalPage.Cells("XGridOrigin")        .Cells("YGridOrigin") = OriginalPage.Cells("YGridOrigin")        .Cells("XGridDensity") = OriginalPage.Cells("XGridDensity")        .Cells("YGridDensity") = OriginalPage.Cells("YGridDensity")        .Cells("XGridSpacing") = OriginalPage.Cells("XGridSpacing")        .Cells("YGridSpacing") = OriginalPage.Cells("YGridSpacing")    End With        ActivePage.Paste 'Paste the copied group from the Clipboard.    ActiveWindow.Selection(1).Cells("PinX") = ShapeDropX     'Position the group.    ActiveWindow.Selection(1).Cells("PinY") = ShapeDropY    ActiveWindow.Selection(1).Ungroup 'Ungroup the group.        ActiveWindow.Page = OriginalPage.ContainingPage.Name     'Go back to the original page...    ActiveWindow.SelectAll '...then select the group...    ActiveWindow.Selection(1).Ungroup '...and ungroup it...    ActiveWindow.DeselectAll ' and then deselect all of the shapes.        MsgBox DuplicatePage.ContainingPage.Name & " has been created."End Sub				
Referências
Para obter mais informações sobre como usar o código de exemplo neste artigo, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
277011A execução de código de exemplo de artigos da Base de dados de Conhecimento
Como alternativa, visite o seguinte site da Microsoft:
VSO2007 VSO 2003 vb vba vbe visio2002 visio2003 VSO2003

Propriedades

ID do Artigo: 290581 - Última Revisão: 11/28/2006 17:54:53 - Revisão: 5.1

Microsoft Office Visio Professional 2007, Microsoft Office Visio Standard 2007, Microsoft Office Visio Standard 2003, Microsoft Office Visio Professional 2003, Microsoft Visio 2002 Professional Edition, Microsoft Visio 2002 Standard Edition

  • kbmt kbhowto KB290581 KbMtpt
Comentários
did=1&t=">