PythonからVisioを操作できるらしい。
でも、調べてみると「COM」や「pywin32」という言葉が登場します。

なんだって?
……何者だ、おぬしら?( ̄▽ ̄;)

ザーーーックリ説明していくね
ということで今回は、この2つの仕組みを簡単に整理してみました。
COMって何?

COMは、Windowsのソフトウェア同士が連携するための共通ルール(仕組み)です。
例えば、販売管理ソフトからExcelを起動して帳票を作成したり、別のプログラムからWordを操作したり。普段何気なく使っているアプリの連携にも、COMが使われている場合があります。

それぞれの国の言葉が違っても共通のルールがあれば話し合える!そんな国際会議をイメージすると分かりやすいかも。
pywin32は、Pythonの命令をCOMの共通ルールに合わせて伝える「通訳役」のような存在です。
国際会議で、それぞれの国の言葉が違っても共通のルールがあれば話し合える――COMもそんなイメージです。
普段何気なく使っているアプリの連携にも、COMが使われている場合があります。
つまり、あるプログラムから別のアプリを操作するための共通の仕組みなんですね。
じゃあ、pywin32は?
COMはWindows側の仕組み。
一方、pywin32はPythonからWindowsの機能を利用するためのライブラリです。

ライブラリ?
ライブラリ=追加機能集だよね?

そうその追加機能を使ってWindowsにアクセスする・・・
だから「通訳係」をイメージするといいかも。
Pythonの命令を翻訳してCOMに伝える感じ。
それぞれの役割を整理すると……
- Python:Visioへの命令を書く
- pywin32:PythonからCOMを利用するための道具
- COM:アプリ同士を連携させる仕組み
- Visio:命令を受け取って動くアプリ
COMとpywin32は別物だったんですね!
VBAの知識や既存のマクロも活用できる!
PythonからVisioに接続した後は、VBAでおなじみの ActivePage や DrawRectangle など、同じVisioのオブジェクトやメソッドを利用できます。
そのため、これまでVisio VBAを使ってきた人なら、その知識がPythonでも役立ちそう♪
さらに、既存のVBAマクロをPythonから実行することも可能です。
VBAを全部Pythonに書き直すのではなく、今あるVBAを活かしながらPythonを組み合わせることもできるんですね。
次回はいよいよ実践!
仕組みが分かったところで、次は実際にPythonからVisioを起動してみます。
たった数行のコードでVisioが動く……!
これは楽しみです。( ̄ー ̄)ニヤリ


