Visio 関連情報

サンプルコード

図形(四角形)を生成するサンプル(その1)

  • 文字列の配列の情報を使って四角形を作成するサンプルです。
    Sub AddShape()
        Dim shpObj
        Dim n
        
        ' テストデータ
        n = 5
        Dim strArray()
        ReDim strArray(n - 1)
        strArray(0) = "Message1"
        strArray(1) = "Message2"
        strArray(2) = "Message3"
        strArray(3) = "Message4"
        strArray(4) = "Message5"
        
        Dim i
        For i = 0 To n - 1
            ' DrawRectangle により四角形を描画します
            ' パラメータは x1, y1, x2, y2 (単位:インチ)
            Set shpObj = ActivePage.DrawRectangle(0, i, 1, i + 1)
            ' シェイプオブジェクトに文字列を設定
            shpObj.Text = strArray(i)
        Next
    End Sub

図形(四角形)を生成するサンプル(その2)

  • Visio VBA で Excel のデータを使って図形(四角形)を生成するサンプルです。
  • 実行手順
    • 1. [ファイル] - [新規作成] - [新しい図面] を選択
    • 2. [ツール] - [マクロ] - [Visual Basic エディタ] を選択
    • 3. [挿入] - [標準モジュール] を選択
    • 4. 後述のコードを貼り付けます、
    • 5. AddShapeFromExcel() を実行するとデータ件数分、図形が作成されます。
  • 設定内容
    • strFileName には、テストデータ(*.xls)のパスを記述してください。
    • strSheetName には、対象となるシート名を記述してください。
    • シートの1行目は項目行として取り扱いますので、先頭行(A1)は "Field1" と入力してください。
  • サンプルコード
    Sub AddShapeFromExcel()
        Dim strFileName
        Dim strSheetName
        strFileName = "D:\home\edu\hatena\visio_vba\test.xls" ' テストデータ
        strSheetName = "SampleSheet" ' シート名
        
        ' ADO を利用して Excel ファイルをオープンする
        Dim cn
        Set cn = CreateObject("ADODB.Connection")
        cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFileName & ";Extended Properties=Excel 8.0"
        
        ' ADO を利用して Excel のシートのデータをレコードセットにセットする
        Dim rs
        Set rs = cn.Execute("SELECT * FROM [Excel 8.0;database=" & strFileName & "].[" & strSheetName & "$]")
        
        Dim shpObj
        ' レコード件数分ループする
        While Not rs.BOF And Not rs.EOF
            ' 四角形を作成する
            Set shpObj = ActivePage.DrawRectangle(0, 0, 1, 1)
            ' 四角形にテキストデータを挿入する
            shpObj.Text = rs(0)
            '次のレコードに移動する
            rs.MoveNext
        Wend
    End Sub
  • テストデータ(test.xls)
    ExcelTestData_20040713.jpg
  • 実行結果(このサンプルでは同じ場所に図形が作成されます)
    VisioAddShape01_20040713.jpg
  • 実行結果(移動するとこのように図形が貼り付けられていることがわかります)
    VisioAddShape02_20040713.jpg

添付ファイル: fileVisioAddShape02_20040713.jpg 558件 [詳細] fileVisioAddShape01_20040713.jpg 609件 [詳細] fileExcelTestData_20040713.jpg 632件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-07-13 (火) 21:55:30 (1245d)