Page.UniqueIDsToShapeIDs メソッド (Visio)
一意の ID で指定された、ページ上の図形の図形 ID の配列を返します。
注:
この Visio オブジェクトまたはメンバーは Visio Professional 2013 のライセンス ユーザーのみが使用できます。
構文
expression. UniqueIDsToShapeIDs
( _GUIDs()_
, _ShapeIDs()_
)
式Page オブジェクトを返す式。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
GUID() | 必須 | String | ページ上の図形の String 型の、一意の ID の配列です。 |
ShapeIDs() | 必須 | Long | 出力パラメーターです。 空の配列で、GUIDs() で指定された図形に対応する Long 型の図形 ID がメソッドによって入力されます。 |
戻り値
なし
解説
Microsoft Visio は、図形 ID と一意の ID の 2 つの ID によって図形を識別します。 図形 ID は、個々の図面ページ内で図形を一意に識別する数値です。 ただし、個々の図面ページの範囲外では、一意ではありません。
Unique IDs は、グローバルな一意識別子 (GUID) です。 こちらは、アプリケーションの範囲内で一意になります。
図形 ID と一意の ID の間で変換するには、 Page オブジェクトの ShapeIDsToUniqueIDs と UniqueIDsToShapeID の 2 つのメソッドを使用できます。
既定では、図形には一意の ID が設定されていません。 図形は、 Shape.UniqueID プロパティを設定した場合にのみ一意の ID を取得します。
Shape オブジェクトに一意の ID がある場合、その他の図面内にある図形にはすべて、異なる ID が割り当てられます。
例
次の Microsoft Visual Basic for Applications (VBA) マクロは、UniqueIDsToShapeIDs メソッドを使用して、そのメソッドに一意の ID として渡されたページのすべての図形に図形 ID があるかどうかを判別する方法を示します。 UniqueIDプロパティを使用して各図形の一意の ID を取得し、アクティブな図面ページのすべての図形を順次処理します。 次に、これらの一意の ID を UniqueIDsToShapeIDs メソッドに渡して、図形の図形 ID を返します。 そして、一意の ID と図形 ID をイミディエイト ウィンドウに表示します。
このマクロを実行する前に、Visio 図面を開いてアクティブな図面ページに複数の図形を配置します。
Public Sub UniqueIDsToShapeIDs_Example()
Dim vsoShape As Visio.Shape
Dim intArrayCounter As Integer
Dim intShapeCount As Integer
intShapeCount = ActivePage.Shapes.Count
ReDim astrUniqueIDs(intShapeCount - 1) As String
ReDim alngShapeIDs(intShapeCount - 1) As Long
intArrayCounter = 0
For Each vsoShape In ActivePage.Shapes
astrUniqueIDs(intArrayCounter) = vsoShape.UniqueID(1)
Debug.Print astrUniqueIDs(intArrayCounter)
intArrayCounter = intArrayCounter + 1
Next
ActivePage.UniqueIDsToShapeIDs astrUniqueIDs, alngShapeIDs
intArrayCounter = 0
For intArrayCounter = LBound(alngShapeIDs) To UBound(alngShapeIDs)
Debug.Print alngShapeIDs(intArrayCounter)
Next
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。