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.
expression. LinkShapesToDataRows
( _DataRecordsetID_
, _DataRowIDs()_
, _ShapeIDs()_
, _ApplyDataGraphicAfterLink_
)
Expressão Uma expressão que retorna um objeto Page .
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. |
Nada
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.
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
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.