ハイパーリンクを利用して製品発注用ソフトを制御することは可能か?

Question 056k 拙著「組み方講座」 Previous Next
105ページ [1-2-3図] ◆ 環境・・ Excel 2003
詳細は こちら
組み方講座を今年の1月に購入し、併せてこちらのホームページを拝見させていただいています。よろしくご指導ください。 ご質問させていただく内容は以下の通りです。

エクセルの指定のセルの内容が変わったら、立ち上げておいたほかの製品発注用ソフト (マイクロソフトの製品ではありません) と連動させて、自動でそのセル内容(数値)を設定し、発注したいのです。
ハイパーリンクでそれは可能でしょうか。可能ならばその方法を教えてください。 よろしくお願い致します。
Answer   Copyright (C) 2006.2.12 永井善王
拙著をご愛読いただき、ありがとうございます。
実践編第1章2「ハイパーリンクを利用してファイルを開く」の中に、右図のメニューが毎月25日以後に表示されると、自動的にWordを起動して、その案内文書を表示する機能があります。
おそらく、これを学習して、そのように思われたのですね。

これはExcel VBA に標準で備わっている Followメソッド、つまり、ハイパーリンク先にある
目的のファイルをダウンロードし適切なアプリケーションで表示してくれる機能を利用して実現しています。(本のP.107【補足!】参照)

従って、たとえば、ハイパーリンク先として画像ファイルを指定しておけば、ペイント等のアプリを起動し表示してくれますので、一度、「製品発注用ソフト」で作成されたファイルを指定して、上手く機能するか試してみるとよいでしょう。

しかし、ハイパーリンクで出来る範囲はそこまでですから、あなたのご希望である「自動でセル内容(数値)を設定し発注」となると、別の機能を探すことになります。
候補としては、「Microsoft Office 連携」 と 「SendKeysステートメント」が挙げられます。しかし、前者については「製品発注用ソフト」がマイクロソフトの製品ではないとのことで不可能かと思いますが、一応、製造元に問い合わせてみてはどうでしょうか。

また、SendKeysステートメントは、キーストロークまたはキーストロークの組み合わせを、キーボードから入力したときと同様にアクティブウィンドウに渡すことが出来ますから、あなたの場合、事前に「製品発注用ソフト」を立ち上げてあるので、ひょっとすると、理論的には可能なのかもしれません。
しかし現実は、それを実行するときのパソコンの状態の微妙な違いによって、上手くいったり、いかなかったりすることがあるようですから、根気よく取り組む覚悟が必要と思います。
トライしてみたい場合は、VBE画面のヘルプをよく読み、下記の参考ページやインターネット上の情報を活用されるとよいでしょう。

参考ページ
 ・
Sendkeysステートメントがうまく機能しないが
 ・PrintScreenの自動実行について

 

Excel VBA Macro