• 締切済み

教えてください

VBAにてExecuteExcel4Macro関数を利用して、 「閉じているエクセルファイルから値(文字列)を取得して、開いているエクセルのセルに出力する」 という機能のユーザー定義関数を作成しようと考えています。 VBAのボタンから呼び出す方式では、上記の内容のマクロは作成できました。 しかし、ユーザー定義関数の中では、ExecuteExcel4Macro関数が機能しませんでした。 そこで、C++にて、上記の「閉じているエクセルファイルを参照する」機能を持ったDLLを作成して、VBAから呼び出したいと考えているのですが、このようなことは可能なのでしょうか? 他のC++も調べたのですが、わかりませんでした。 よろしくお願いします。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

C言語でCOMモデルを操作するのは大変難しく、私はScriptControlの COMオブジェクトを使い、そこで、目的のオブジェクトを作るという 方法を取っています。つまり、とても面倒なプログラムなんです。 VBAでできたなら、それを使う方が良い訳で、わざわざC言語でDLLを 作るメリットは皆無です。(自分の練習と言う以外は)

関連するQ&A

専門家に質問してみよう