Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cria várias novas formas na página de desenho que são vinculadas a várias linhas de dados de um conjunto de registros de dados. Retorna o número de instâncias de forma criadas e uma matriz das identificações dessas formas.
Observação
This Visio object or member is available only to licensed users of Visio Professional 2013.
Sintaxe
expression.
DropManyLinkedU( _ObjectsToInstance()_ , _XYs()_ , _DataRecordsetID_ , _DataRowIDs()_ , _ApplyDataGraphicAfterLink_ , _ShapeIDs()_ )
expressão Uma expressão que devolve um objeto Página .
Parâmetros
| Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
|---|---|---|---|
| ObjectsToInstance() | Obrigatório | Variant | Uma matriz do tipo Variant de objetos dos quais você deseja criar instâncias. |
| XYs() | Obrigatório | Double | Uma matriz do tipo Double. |
| DataRecordsetID | Obrigatório | Long | A identificação do conjunto de registros de dados contendo as linhas de dados com as quais você deseja estabelecer um vínculo. |
| DataRowIDs() | Obrigatório | Long | Uma matriz do tipo Long de identificações das linhas de dados contendo os dados com os quais você deseja estabelecer um vínculo. |
| ApplyDataGraphicAfterLink | Obrigatório | Boolean | Se o gráfico de dados atual deve ser aplicado às formas vinculadas. Consulte Comentários para obter mais informações. |
| ShapeIDs() | Obrigatório | Long | Parâmetro externo. Uma matriz do tipo Long of shapes created and linked to. |
Valor de retorno
Long
Comentários
Quando quiser criar formas já ligadas a dados numa página de desenho que não contenham formas ou que contenham outras formas que não aquelas que pretende ligar, pode utilizar os métodos Page.DropLinked e Page.DropManyLinkedU para criar uma ou mais formas adicionais já ligadas aos dados. Estes métodos assemelham-se aos métodos Page.Drop e Page.DropManyU existentes, na qual criam formas adicionais numa localização especificada na página; mas, além disso, criam ligações entre as novas formas e linhas de dados especificadas num conjunto de registos de dados especificado.
Para o parâmetro ObjectsToInstance(), passe uma matriz de objetos a serem instanciados para as formas vinculadas aos dados. Embora estes objetos sejam normalmente objetos do Visio, como objetos Mestre, Forma ou Seleção , podem ser objetos OLE que fornecem uma interface IDataObject .
Para o parâmetro XYs(), passe uma matriz do tipo Double. Cada par consecutivo de valores de posição de índice de matriz deve corresponder às coordenadas de página x e y onde pretende que a instância do objeto na posição correspondente na matriz ObjectsToInstance() seja posicionada. Por exemplo, se quiser que a instância do objeto na primeira posição do índice de matriz em ObjectsToInstance() seja posicionada na coordenada da página (2,4), coloque o valor 2 na primeira posição do índice de matriz em XYs() e coloque o valor 4 na segunda posição do índice de matriz nessa matriz e assim sucessivamente para o resto dos objetos e coordenadas.
Quando um objeto que transmite na matriz ObjectsToInstance() é uma forma, o centro da caixa largura-altura da forma é posicionado nas coordenadas que especificar em XYs().
Quando um objeto passado na matriz ObjectsToInstance() é um mestre, o pino do mestre é posicionado nas coordenadas especificadas em XYs(). Frequentemente, mas não necessariamente, o marco de um mestre está no seu centro de rotação.
Para o parâmetro DataRowIDs(), passe uma matriz de valores Long que representam as identificações das linhas de dados no conjunto de registros de dados que você deseja vincular às instâncias de forma criadas a partir dos objetos nas posições correspondentes de índice na matriz ObjectsToInstance().
Para o parâmetro ShapeIDs(), passe uma matriz vazia e sem dimensões do tipo Long. O método retornará a matriz preenchida com as identificações das formas recém-criadas e vinculadas.
Observação
A partir do Microsoft Visio 2000, você pode usar nomes locais e universais para se referir a formas, mestres, documentos, páginas, linhas, complementos, células, hiperlinks, estilos, fontes, atalhos mestre, objetos UI e camadas do Visio. Por exemplo, quando um utilizador dá um nome a uma forma, o utilizador está a especificar um nome local. A partir do Microsoft Office Visio 2003, a folha de cálculo ShapeSheet apresenta apenas nomes universais em fórmulas e valores de células. (Em versões anteriores do Visio, os nomes universais não eram visíveis na interface de utilizador.) Enquanto programador, pode utilizar nomes universais num programa quando não quiser alterar um nome sempre que uma solução for localizada. Use o método DropManyLinkedU para soltar mais de uma forma vinculada aos dados quando estiver usando nomes universais para identificar as formas.
Exemplo
A macro a seguir do Microsoft Visual Basic for Applications (VBA) mostra como usar o método DropManyLinkedU para criar várias formas na página de desenho ativa, centralizadas nas coordenadas especificadas e vinculadas às linhas de dados do conjunto de registros de dados adicionado mais recentemente ao documento ativo. Ela imprime o número de formas criadas e seus respectivos números de identificação na janela Immediate.
As formas transmitidas para o método DropManyLinkedU são formas simples do stencil Formas Básicas (unidades dos E.U.A .). Antes de executar esta macro, utilize o método DataRecordsets.Add ou outro meio para adicionar pelo menos um conjunto de registos de dados à coleção DataRecordsets e certifique-se de que o stencil Formas Básicas (unidades dos EUA) está aberto na janela de desenho do Visio.
Sub DropManyLinkedU_Example()
Dim avarObjects(0 To 2) As Variant
Dim adblXYs(0 To 5) As Double
Dim alngDataRowIDs(0 To 2) As Long
Dim alngShapeIDs() As Long
Dim vsoDataRecordset As Visio.DataRecordset
Dim intRecordsetCount As Integer
Dim lngReturned As Long
Dim intCounter As Integer
intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count
Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount)
Set avarObjects(0) = Visio.Documents("Basic_U.VSS").Masters("Rectangle")
Set avarObjects(1) = Visio.Documents("Basic_U.VSS").Masters("Triangle")
Set avarObjects(2) = Visio.Documents("Basic_U.VSS").Masters("Circle")
adblXYs(0) = 2
adblXYs(1) = 2
adblXYs(2) = 4
adblXYs(3) = 4
adblXYs(4) = 6
adblXYs(5) = 6
alngDataRowIDs(0) = 1
alngDataRowIDs(1) = 2
alngDataRowIDs(2) = 3
lngReturned = ActivePage.DropManyLinkedU(avarObjects, adblXYs, vsoDataRecordset.ID, alngDataRowIDs, True, alngShapeIDs)
Debug.Print lngReturned
For intCounter = 0 To lngReturned - 1
Debug.Print alngShapeIDs(intCounter)
Next
End Sub
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.