ExcelVBAで外部アプリ操作やクラスモジュールのコードが見つからない問題の考察

ExcelVBAから外部アプリ操作やクラスモジュールに関するコードが見つからない

何らかのシステムを作っている時に「こういう動作をさせたい」と思っても、「これは今までのやり方じゃ無理だな・・・」と気づくことはないでしょうか。

 

仮に「これはExcelVBAから外部アプリケーションを操作する知識がないと駄目だな」とか、「この動作はクラスモジュールの知識が必要なんだな」ということがわかったします。

 

しかし残念なことに、そのような分野の操作方法がまとまった本や情報というのは、数ヶ月間いろいろと調べてみましたがなかなか見つけることが出来ませんでした。

 

ExcelVBAからIEを操作する方法などは多く見つけることが出来ます。しかしExcelVBAからPowerPointやOutlook、さらには他のアプリケーションを操作する方法に関するまとまった情報はなかなか見当たりません。

Yahoo!知恵袋でもQiita(キータ)でも目的のコードは見つからない

自分が「こういった動作をさせたい」と考えているコードをインターネットで検索していると次の「Yahoo!知恵袋」と「Qiita(キータ)」という2つのサイトをよく見かけます。

Yahoo!知恵袋(ヤフーちえぶくろ)-Wikipedia

Yahoo!知恵袋(ヤフーちえぶくろ)とは、Yahoo! JAPANが運営する、電子掲示板上で参加者同士が知識や知恵を教え合うナレッジコミュニティ、知識検索サービスである。

Qiita(キータ)-Wikipedia

Qiita(キータ)は、Incrementsが運営するプログラミング情報のナレッジコミュニティ。2016年現在で日本最大のプログラマーコミュニティとされている

上記2つのサイトはExcelVBAやそれ以外のコードに関しても有益な情報がたくさん記載されています。辞書にあるようなコードだけではなく、実践向きの「入り組んだコード」も多く見つけることが出来ます。

 

特にYahoo!知恵袋の方は、質問者に対してそれに答えるというスタンスでコードが書かれており、なんとなくその切迫感や切実さが伝わってきます。

 

このようなやり取りを見ていると、今まで多くの人が自分のように辞書やインターネットで探しても、どうしても求めているコードが見つからなかったんだろうなと気づかされます。

 

上記のようなサイトが存在しているのは本当にありがたいことです。もちろん上記以外にも、わからないコードがあった場合質問できるサイトはたくさんあります。

 

求めているコードがわからない時に辞書が基本的なコードを教えてくれる役割があるとすれば、上記に引用したようなサイトがより実践向きのコードを教えてくれる役割を担ってくれているとも言えます。

 

とはいうものの、インターネット上にはExcelVBAのコードに関して過去に膨大なやり取りの記録が残っているはずなのに、まだ自分の求めているコードが見つからなかったりするのです。

 

例えば「ExcelVBAでOutlookにある指定のフォルダの中から特定の文字列が含まれるメールを検索する方法」を探したかったとしても見つかりません。

 

「OutlookVBA」だけで探すと「Outlookにある指定のフォルダの中から特定の文字列が含まれるメールを検索する方法」はあるかもしれませんが、ExcelVBAでOutlookを操作したいと思ってもその方法は見当たりません。

 

自分の探し方が悪い、というのももちろんあると思います。というか基本的に「ExcelVBA」から「他のアプリケーション」を操作するという方法の情報自体をあまり見つけることが出来ません。

 

世間的に需要がない、というのもあるでしょう。自分で試行錯誤して欲しい動作ができるコードを自力で見つけていくしかないのかもしれません。

なぜインターネットでコードのストック集が多いのかわかった気がする

おそらく自分のように辞書を調べてもインターネットを調べても求めているコードが見つからない人というのは結構多いのではないでしょうか。

 

自分はここ数ヶ月間、ExcelVBAの辞書を見ながらシステムを作る時がありましたが、段々と不足感を感じるようになっていきました。というのも辞書という形では物理的、ページ数的に入れられるコードには限界があり「断片的」でもあるからです。

 

そういった事情から徐々にインターネットでコードを調べるという方法にシフトしていきました。とはいっても辞書よりは複雑で実践的なコードを見つけることは出来るのですが、ここまで書いてきたように今ひとつという感じです。

 

たぶん「ある所にはある」んだと思います。すごい充実したコード集みたいなものがインターネット上でのサイトやどこかの書籍に。

 

一方で気づいたこともあります。それは個人でVBAに関するコードをストック集のようにサイトにまとめてくれている方がいるということです。

 

こういった有益なサイトをいくつも見つけてきて思ったのは、自分のように辞書やインターネットで調べてもなかなか求めているコードが見つからないから、

「その人が試行錯誤して実際に役立つコードを業務で使えるように蓄積してきた」

のかもしれない、ということです。

 

以前は不思議に思っていました。「なんでここまで手間暇かけてこんなに充実したサイトをつくるのだろうか」と。

 

アフィリエイトとかアドセンスが目的という場合もあるのかもしれませんが、やはり一番の理由は「業務上必要だから」なのではないかと思いました。

 

業務上わからない動作やトラブルがあったとして、わからないままにはしておけません。技術者が「わからない」と言い続けていたら早晩クビにされてしまいます。

 

そうならないようにするための策のひとつして、ブログやサイトにコードを業務に使える形にして、わからない時にインターネットで自分のサイトを見にいっているのかもしれないなと思いました。

 

また、個人個人がよりレベルアップしていくためには、そのような方法も実践していかなければいけないのかもしれません。

あわせて読みたい

こんな記事も読まれています

コメント