Método Page.LinkShapesToDataRows (Visio)

Vincula várias linhas do conjunto de registros de dados especificado, conforme definido por suas identificações de linha de dados, a várias formas na página e, opcionalmente, aplica o gráfico de dados atual às formas vinculadas.

Observação

This Visio object or member is available only to licensed users of Visio Professional 2013.

Sintaxe

expression. LinkShapesToDataRows( _DataRecordsetID_ , _DataRowIDs()_ , _ShapeIDs()_ , _ApplyDataGraphicAfterLink_ )

Expressão Uma expressão que retorna um objeto Page .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
DataRecordsetID Obrigatório Long A identificação de um conjunto de registros de dados contido no documento atual contendo os dados com os quais você deseja estabelecer um vínculo.
DataRowIDs() Obrigatório Long Uma matriz do tipo Long de IDs de linhas de linhas no conjunto de registros de dados especificado em DataRecordsetID, a ser vinculada às formas especificadas em ShapeIDs().
ShapeIDs() Obrigatório Long Uma matriz do tipo Long de IDs de forma de formas na página a ser vinculada às linhas de dados especificadas em DataRowIDs() no conjunto de registros de dados especificado em DataRecordsetID.
ApplyDataGraphicAfterLink Opcional Boolean Se o gráfico de dados atual deve ser aplicado às formas vinculadas. Consulte Comentários para obter mais informações.

Valor de retorno

Nada

Comentários

As posições de índice das IDs de forma na matriz que você passa para o parâmetro ShapeIDs() devem corresponder à posição de índice na matriz DataRowIDs() das IDs das linhas de dados às quais você deseja que as formas sejam vinculadas. Ou seja, para vincular a forma à ID 1 à linha de dados com a ID 10 , por exemplo, coloque a ID da forma e a ID da linha de dados na mesma posição de índice de matriz em suas respectivas matrizes.

Se o Visio não puder estabelecer um vínculo entre uma forma e uma linha de dados, ele ignorará essa forma e passará para a próxima forma na matriz. Depois de executar o método, para determinar se todas as formas na matriz estão realmente vinculadas às linhas de dados especificadas, chame o método Shape.GetLinkedDataRow em cada forma na matriz. Se esse método falhar para alguma forma, isso indicará que a forma não está vinculada à linha de dados. O Visio geralmente terá êxito em vincular uma linha a uma forma, a menos que a forma já esteja vinculada aos dados e a configuração link-replacement-behavior para o conjunto de registros de dados especifica que o link não deve ser substituído.

Se você passar True para o parâmetro ApplyDataGraphicAfterLink opcional ou se você não passar um valor para esse parâmetro, o Visio aplicará novamente o gráfico de dados existente a formas que já tinham gráficos de dados aplicados antes de chamar o método. Para as formas que anteriormente não tinham gráfico de dados, o Visio aplicará o gráfico de dados usado mais recentemente em qualquer outra forma no documento atual.

Exemplo

A macro do Microsoft Visual Basic for Applications (VBA) a seguir mostra como usar o método LinkShapesToDataRows para vincular as três primeiras formas adicionadas à página de desenho ativa aos dados nas três primeiras linhas de dados no conjunto de registros de dados adicionado mais recentemente à coleção DataRecordsets do documento atual. Como ela não passa um valor para o parâmetro final opcional, ela também aplica um gráfico de dados às formas vinculadas.

Antes de executar essa macro, abra um novo desenho do Visio e use o método DataRecordsets.Add ou outro meio para adicionar pelo menos um conjunto de registros de dados à coleção DataRecordsets . O conjunto de registros de dados adicionado mais recentemente deverá conter pelo menos três linhas de dados. Em seguida, adicione no mínimo três formas à página de desenho.

Public Sub LinkShapesToDataRows_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intRecordsetCount As Integer 
    Dim alngDataRowIDs(0 To 2) As Long 
    Dim alngShapeIDs(0 To 2) As Long 
     
    alngShapeIDs(0) = 1 
    alngShapeIDs(1) = 2 
    alngShapeIDs(2) = 3 
     
    alngDataRowIDs(0) = 1 
    alngDataRowIDs(1) = 2 
    alngDataRowIDs(2) = 3 
         
    intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count 
    Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount) 
     
    ActivePage.LinkShapesToDataRows vsoDataRecordset.ID, alngDataRowIDs, alngShapeIDs 
 
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.