VBA

いい加減VBAに関するネタが増えたので、
少しずつ書いてみる。
最近使ってるVisioに関するVBA
選択しているコネクタの接続関係を確認(メッセージ表示)するマクロ

Sub ConnectCheck()
' コネクタの接続を格納する変数を定義
  Dim ActCnncts As Visio.Connects
  Dim strBuf As String
  Dim i As Integer
  
  ' アクティブ(選択している)シェイプの接続を取得
  Set ActCnncts = Visio.ActiveWindow.Selection(1).Connects
  If (ActCnncts.Count = 0) Then
    Exit Sub
  End If
  strBuf = ""
  For i = 1 To ActCnncts.Count
    strBuf = strBuf & "接続(" & i & "):" & ActCnncts.Item(i).ToSheet.Name & vbCrLf
  Next i
  
  ' 接続元と接続先のシェイプ名をメッセージボックスで表示
  MsgBox strBuf
  
End Sub

コネクタの接続情報(Connects)の中には、

  • 接続数(Count)
  • コネクタの根元と先の情報(Item(x))
    • シェイプの情報(Item(x).ToSheet)
    • 接続ポイントの情報(Item(x).ToCell)

など色々はいってる。