• 締切済み

アクティブな(開かれた)エクセルとリンクするようなプログラム

エクセル上で、別のアドインがリンクを更新しています。 そのような状況下で、セルの数値が条件を満たしたときに、エクセルのボタンを押すというようなプログラムを作りたいのです。 VBで作るのが良いのでしょうか? DelphiのフリーやC言語ではそのようなことは出来ないのでしょうか。 また、プログラミング言語の構造や意味が深く理解で来ていないため、 「なぜ、C言語ではエクセル上のプログラムができないのか」というような事が解りません。 どなたか根本的な部分の説明をしていだだけませんでしょうか。 尚、どの プログラムを利用するのが なぜ いいのかという部分もご教示いただけたらと思います。

みんなの回答

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

そのようなプログラムがDelphiやC/C++で作成できるか、という質問の回答は「できる」です。ただし、VBと比較すると複雑で面倒です。 VBで作るのが良いかどうかは場合によりますが、今回の質問者さんの場合はおそらくそれが良いでしょう。その理由は、今回の質問の目的(の一部)である「アクティブなプログラムとリンクする」という操作に関する前提知識が、DelphiやC/C++で作成するよりもVBで作成するほうが少なくて済むからです。

thisis2wakei
質問者

補足

ありがとうございます。 現在、私はCを用いて、バッチ処理用のExEファイルを作ることは出来ます。 ただ、それをエクセル上で動かすという概念が理解できません。 Excel上に、Cで作ったプログラムを埋め込む事が可能なのでしょうか。 アドインとか、クエリーとか、ODBC?とかいうのが関係してくるのでしょうか。 VB言語はマクロの記録ボタン経由でしか操作できないため、 正直、マクロなどを見ても、良く解りません。 また、エクセルを使うにはこれでないとダメなのかと思わされてもいました。 エクセル上で動く何かのプログラムの中に、 その中に、ExEファイルを取り込み、 エクセル上の指定された範囲のセルを監視(getsやfgets関数を用いる?)し、 指定したセル上に送り(print関数)、エクセルボタンを押す。 という、動作が可能なのでしょうか。 エクセルと送受信する(のでしょうか?)部分が全くのなぞです。 どのような部分を理解すれば可能となるのでしょうか。 お知恵を拝借できればと思います。

関連するQ&A