つまり、基本的に、多くの形状とデータを含むVisioファイルがあります。形状レポートを新しいExcelファイルに作成してから、Excelファイルでエクスポートされたデータをプログラムでピボットテーブルに変換しようとしています。
すでに通常のテーブル形式のデータを含むExcelファイルを生成するマクロをVisioで実行しています。エクスポートされたデータのExcelウィンドウをアクティブにし、マクロを実行してピボットテーブルにするマクロをVisioで実行できるようにしたい。ただし、visioマクロモジュールに挿入したExcelマクロコードは認識されません(「範囲」など)。これは、Visioで認識される単語ではないためと考えられます。
私の質問はこれです:VisioモジュールからExcelファイルを変更するマクロを実行するにはどうすればよいですか?
VisioからExcelファイル(Excel.run "ModuleNAME")でマクロを呼び出す方法を知っていますが、マクロが既にExcelにある必要があります。図形レポートを取得するときに新しいExcelファイルを作成しているため、これらのファイルにはマクロが含まれていません。
別の解決策は、Visioから形状データレポートを新しいシートとして、マクロが既に含まれている既存のExcelファイルにエクスポートできた場合ですが、これを行う方法もわかりません...(形状レポートをVisioから既存のExcelファイルへ)
Excelレポートを生成するための私のコード:
Sub Excel2()
Visio.Application.Addons("VisRpt").Run
("/rptDefName=ReportDefinition_2.vrd/rptOutput=EXCEL")
End Sub
Excel2()を実行した後にこのマクロを実行したい
Sub NewMacro()
AppActivate "Microsoft Excel"
Dim AppExcel As Excel.Application
Set AppExcel = CreateObject("Excel.Application")
'Do all sorts of fancy stuff with making pivot tables
'Do all sorts of fancy stuff with making pivot tables
End Sub