VBAというものに対して多くの人はどんなイメージを持っているでしょうか？

VBAというとエクセル、エクセルといえばVBAというイメージが以前の自分には

ありました。

&nbsp;

VBAとは、Visual Basic for Applications の略です。その意味は特定のアプリケー

ションに特化したプログラミング言語のことであり、Visual Basicをベースとして

います。

&nbsp;

私達が仕事で日常的に使っているExcelなどのMicrosoft Officeのアプリケーション

に入っています。

&nbsp;

このブログでは、数ヶ月前からとあるきっかけからVBAについて勉強を始めて、そ

の内容や効果についていろいろと書いてきました。

&nbsp;

勉強したからこそわかるようになったのですが、VBAが使える範囲って、エクセル

「だけではない」んですね。

&nbsp;

VBAを始める前の自分のイメージでは、VBAというのはエクセルだけにしか使えな

いものだと思っていました。また「Visual Basic for Applications 」とあるように

特定のアプリケーションに特化したプログラミング言語なわけですからそういうも

のなのだろうとずっと思っていました。えぇ、つい最近までは。

&nbsp;

このVBAを使ったプログラムやシステムが影響を与えられる範囲というのは、エク

セルだけではなくて実はいろいろ使えるんだということを知るようになりました。

&nbsp;

ですから、ちょっとした感動、おもしろさ、好奇心が出てくるようになってきたわ

けで、今回はそのことについて自分が思ったことを書いていってみます。

&nbsp;
<h2>VBAはワード、パワーポイント、アクセスでも使える</h2>
&nbsp;
<h2>VBAはIE(インターネット・エクスプローラー)でも使える</h2>
VBAを勉強していると「OLEオートメーション」なんて言葉を目にしたりします。

なんだかかっこよさそうな名前ですね。どのような機能なのでしょうか。

&nbsp;

『VBAエキスパート公式テキスト Excel VBA スタンダード』には次のように書か

れています。

&nbsp;
<blockquote>p.182

OLEはObject Linking and Embeddingの略称で、アプリケーションから別の

アプリケーションを操作したり、Wordの文書内にExcelの表を埋め込むなど、

オブジェクトをやり取りするための規格です。

&nbsp;

OLEオートメーションは、Excel VBAだけではなく、Visual BasicやVisual C#

など一般的なプログラミング言語から使用できる共通の規格です。</blockquote>
&nbsp;

&nbsp;

&nbsp;
<h2>VBAはSendkeysメソッドを使ってPDFや他のアプリケーションなどMicrosoft Office系列以外にも使える</h2>
ここまで書いてきたように、VBAというのはエクセル以外にもMicrosoftが開発した

アプリケーションなら使えることがわかりました。ここまでなら何となくは理解でき

ます。

&nbsp;

「あぁ、Microsoftという同じ会社がつくったんだから内部構造も共通化させて使え

るようにはできそうだよね」と。

&nbsp;

でもMicrosoft以外のアプリケーションならどうでしょうか？VBAが使える範囲って

Microsoftがつくったものだけにしか使えないのでしょうか。

&nbsp;

いいえ、そうでもないようです。その証拠に以下のような過去記事も書いてきました。
<ul>
 	<li><strong><a href="https://www.chishikinosoukonoseiri.com/entry/2018/01/20/0951">SendKeysメソッドとFolderfilelistでPDFを自動印刷できないか</a></strong></li>
 	<li><strong><a href="https://www.chishikinosoukonoseiri.com/entry/2018/01/27/0424">CONCAT関数と検索ボックスを利用してPDFを一括印刷するVBAとマクロ</a></strong></li>
 	<li><strong><a href="https://www.chishikinosoukonoseiri.com/entry/2018/01/28/0742">PDFの自動印刷のためにAPIのkernel32を利用してみた</a></strong></li>
</ul>
引用した過去記事はSendKeysメソッドというコードを使うと、キーボードの通常の

キー操作やショートカットキーなどを利用してアドビシステムズが開発したPDFを操

作したといった内容です。

&nbsp;

つまり、やり方によってはMicrosoftが開発したシステム以外にも、VBAで何らかの

形で影響を及ぼせるということです。このことを知ったときは、

&nbsp;

「あれ？もしかしてVBAって結構使える範囲が広いんじゃないか？」と思いました。

&nbsp;

プログラミング言語には有名どころではC言語やJavaなどがあります。こういったプ

ログラミング言語であればVBAに比べればかなり汎用性は高いのではないかと思いま

す。

&nbsp;

VBAを勉強することで、プログラミング言語によってつくれるシステムの範囲や影響

を与えられる範囲というものが存在するんだ、ということが段々とわかってきました。

&nbsp;

なるほど、何事も勉強してみるものですね。

&nbsp;
<h2>まとめ</h2>
&nbsp;

&nbsp;

&nbsp;

&nbsp;
<h2>あわせて読みたい</h2>
&nbsp;

&nbsp;

&nbsp;

&nbsp;