開発環境
WinXP SP2
VC++6.0SP6 MFC ダイアログ
Excel97
VCからExcelにデータ出力、セル書式の設定を行いたいと思っております。
そこで、過去の発言を参考に下記のコードを新規ワークスペースのダイアログcppに
追加したのですが、コンパイルエラーになってしまいます。
#pragma warning( disable : 4146)
#pragma warning( disable : 4049)
#import C:/Program Files/Microsoft Office/Office/MSO9.DLL
#import C:/Program Files/Common Files/Microsoft Shared/VBA/VBA6/VBE6EXT.OLB
#import C:/Program Files/Microsoft Office/Office/EXCEL8.OLB \
rename(RGB, RBGXL) \
rename(ExitWindows, WordExitWindows) \
rename(DialogBox, DialogBoxXL) \
rename(DocumentProperties, DocumentPropertiesXL)
参考にしたHP( http://www.jsdlab.co.jp/~kei/studio/excel/index.html)では
Excel97の場合、MSO8.DLL, VBEXT1.OLB, EXCEL8.OLB とすれば OK なはず とあったので
すが
MSO8.DLLとVBEXT1.OLBは存在せず、MSO9.DLLとVBE6EXT.OLBが存在したので
EXCEL8.OLBのみを変更しました。
そこで下記のようなエラーが26件発生します。
error C2039: 'CommandBarsPtr' : 'Office' のメンバではありません。
error C2146: 構文エラー : ';' が、識別子 'CommandBars' の前に必要です。
error C2501: 'CommandBarsPtr' : 識別名を宣言するのに、型が指定されていません。
error C2501: 'CommandBars' : 識別名を宣言するのに、型が指定されていません。
error C2039: 'CommandBarsPtr' : 'Office' のメンバではありません。
:
:
とりあえず、Excelを開いて→セルA1に値をセット→ファイルの保存
を行うプログラムを新規で作成してみようと思ったのですが、
コンパイルすら通らない状況に困り果てて、質問されていただきました。
(なぜMSO8.DLLとVBEXT1.OLBが存在せず、MSO9.DLLとVBE6EXT.OLBが存在しているのか?
EXCEL8.OLBのみ97の指定であることに問題があるのでしょうか?)
何方かご教授いただければと思います。
以上 よろしくお願いいたします。
mso97.dll と vbeext1.olb と excel8.olb を
インポートすることでコンパイルは通るようになりました。
(OLE/COM Object Viewer を知りませんでした。ゴメンナサイ)
まだ、ファイル操作まで到達しておりませんが、
(終了時にエラーが発生する状態ですが、解析中です ^^;)
取り急ぎご報告まで。
ありがとうございました。
