pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

JS:ペイントはオートメーションに対応してない=CreateObjectできない

ちょっと、コードを参照する都合があって昔のVBAの本を引っ張り出して読んだです。JavaScript化するにあたって、オブジェクトやメソッドなどなどの名前を知るヒントにしようと思ったのです。
「VBAプログラミング500の技」という本です。今から15年以上前に「技術評論社」から発売されています。

VBAプログラミング500の技 (Windowsプログラミング)

VBAプログラミング500の技 (Windowsプログラミング)

爺は、この本でVBAがoffice外のソフトをコントロールできるのではないかと妄想したです。たとえば、IllustratorExcelVBAから操作できるかもしれないというというような…。その後、「VBA EXPRESS Vol.2」で具体的な方法を知りました。

VBA EXPRESS Vol.2

VBA EXPRESS Vol.2

45歳を過ぎていた…遅いな~こういうことを勉強するのがね…。まあ、爺とVBAとの付き合いはじめなのであります。

最近、JavaScriptで処理する方がPC負荷など少ないのではないかと考え、VBAのことを思い出しながらJavaScriptだったらこうなるのか…などと、ボツボツとやってみています。

そして、「Windowsに最初からついているペイント、ひょっとしてラクに操作できるのでは」などと変なことを思ってしまったのです。
ネット徘徊しても、なかなか、JavaScriptはおろかVBAとの接点でピンとくるページに当たりませんでした。不思議なことだな~などと思いつつ数日経過。

「VBAプログラミング500の技」の153頁を見て、がっくりきたです。現在でもそうなのかということすらわからないんですけど…。どなたかお知らせくださーい。ペイントはオートメーションに対応してない。つまり、CreateObjectできないなのです。

Office以外のプログラムをCreateObjectできるか?

できます。基本的にオートメーションをサポートしているものであればOKです。(略)
「ペイント」は埋め込み編集には対応していますが、オートメーションには対応していません。よってCreateObjectはできません。(略)
:出典・「VBAプログラミング500の技」153頁

  • 埋め込み編集:エクセルの表の一部をワード文書にコピペできるような機能で、OLE機能の一部。
  • オートメーション:サポートされていたら、VBAからプロパティなどをつかい操作できる。OLE機能の一部。

support.office.com

ペイントをCreateObjectできないということは、Shellで起動だけ? 例えば「Task = Shell("Mspaint.exe")」とかいうように…。
ということで少し調べてみました。

ダメなんでしょうね、ペイント起動のあと適宜予定した作業をさせるというのは…。すると、VBとかでexeファイル作ってペイントに仕事させる…のかなあ…爺の妄想であります。ペイントを起動し何らかの作業を自動進行するというプログラムは、開発環境としてVisual Studio が必要ということになりそうかと…これも妄想…。
help me…