• ベストアンサー

VBAからDLL呼び出し

vbaからC++で作成したDllファイル内関数を呼び出し、使用しているのですが、dllファイル内に記述してあるprintfが出力できません。 何か良い方法があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 printfとは、「標準出力に対して文字列を出力する」関数であり、当然標準出力がないと何も起こらない。  ところで、VBAは何のVBAを使っているのだろうか? 一般的にはExcelかAccessだと思うのだが・・・・。  正直、VBやVBAからコンソールをオープンするのはめちゃくちゃ面倒だ。APIを駆使して行う事になる。さらに、恐らくそれでもDLLのprintf()は使えない。コンソールをVBAでオープンして、自前でパイプを作りその入力側をDLLに渡してfprintf()に出力してもらう事になるだろうな。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

printfは、標準出力(特に指定しなければコマンドプロンプトのような画面)に出力する関数ですので標準出力を持たないOffice製品では無理です。 sprintf等を使用してMessageBoxで表示させるとか、fprintfでファイルに出力させる等、別の手段をとってください。