VC++からExcelの操作 – プログラミング – Home

通知
すべてクリア

[解決済] VC++からExcelの操作


秀水
 秀水
(@秀水)
ゲスト
結合: 24年前
投稿: 14
Topic starter  

開発環境
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の指定であることに問題があるのでしょうか?)

何方かご教授いただければと思います。

以上 よろしくお願いいたします。


引用未解決
トピックタグ
秀水
 秀水
(@秀水)
ゲスト
結合: 24年前
投稿: 14
Topic starter  

mso97.dll と vbeext1.olb と excel8.olb を
インポートすることでコンパイルは通るようになりました。
(OLE/COM Object Viewer を知りませんでした。ゴメンナサイ)

まだ、ファイル操作まで到達しておりませんが、
(終了時にエラーが発生する状態ですが、解析中です ^^;)

取り急ぎご報告まで。


返信引用
とおり
 とおり
(@とおり)
ゲスト
結合: 22年前
投稿: 43
 

http://www.attain-sys.com/vc/excel/vc_excel.html
とか参考になるかもです。


返信引用
秀水
 秀水
(@秀水)
ゲスト
結合: 24年前
投稿: 14
Topic starter  

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました