Visioの自動化といえばVBA。
でも、調べていたらPythonからも操作できるらしい。

Pythonってなんなんだ?

世界中で人気のプログラミング言語らしい、特徴は
・シンプルな文法
・豊富なライブラリ
・AI開発にも使われている
初心者向けの言語ってことで
これは面白そう……ニヤリ( ̄ー ̄)
ということで、さっそく挑戦してみました。
そもそもPythonを使うと何が便利?

Visioを動かすだけなら、VBAでよくない?

・・・と思いますよね。くらげも思いました(笑)
なんですが、Pythonにも得意な部分があって、
組み合わせると意外と便利だったりします。
Pythonの強みは、Visioだけでなく、Excelやファイル操作、データ処理、Web、AIなど、いろいろな機能と組み合わせやすいこと。
VBAでやっていたVisioの自動化を、Pythonを入口にもっと広げられるかも!
今回の目標
【画像①:Visioに文字が表示された完成画面】
今開いているVisioに「Hello Python!」を表示する!
【画像①:Hello Python!が表示されたVisioの完成画面】
今回は、PythonからVisioを操作する方法と、反対にVisioからPythonを呼び出す方法の両方を試してみます。

が・・・
まじめに書くと結構長いので、
細かいところはそれぞれ別の記事で書くよ♪
PythonからVisioを動かすまでの道のり
STEP 1:Pythonをインストールする
まずはPythonを使える環境を準備します。
インストールから簡単なプログラムの実行まで、Windowsでの手順を紹介しています。
▶ 15分で完了!PythonをWindowsにインストールする方法
STEP 2:COMとpywin32の仕組みを知る
PythonからVisioを操作するには、Windowsの「COM」という仕組みを利用します。
そして、そのCOMをPythonから使うための道具が「pywin32」です。
【画像②:Python → pywin32 → COM → Visio】
何だか難しそうですが、身近なアプリの連携にも使われている仕組みなんです。
▶ COMって何?PythonとVisioをつなぐpywin32の仕組みを解説
STEP 3:PythonからVisioを操作する
いよいよ実践!
PythonからVisioを起動して、新しい図面に「Hello Python!」を表示します。
【画像③:PythonからVisioを操作した結果】
VBAでおなじみの DrawRectangle などもPythonから利用できました!
▶ PythonからVisioを操作!アプリ連携にも広がる自動化の第一歩
STEP 4:VisioからPythonを呼び出す
今度は反対方向から挑戦!
VisioのVBAからPythonを呼び出して、現在開いているページに「Hello Python!」を表示します。
【画像④:Visio VBA → Python → Visio のイメージ図】
Visioを操作画面にして、Pythonに処理を任せることもできそうです。
▶ Visio VBAからPythonを操作!データ処理や画像処理にも
VBAの知識も使える!
今回試してみて面白かったのは、Visio VBAで覚えた知識をPythonでも活用できること。
例えば、ActivePage や DrawRectangle など、Visioのオブジェクトモデルは共通です。
Pythonの豊富なライブラリと組み合わせれば、自動化の幅も広がりそう!
フォームもVBAの決まった形ではなく、おしゃれなのが使えそう!
まだまだ勉強中ですが、さて、次は何を作ろうかな?( ̄ー ̄)ニヤリ


