掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VC++2005でEXCEL2003のファイルを開くには (ID:65344)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
#importで自動生成された excel.tlh の中身を見るとわかると思いますが、 ApplicationクラスのVisibleプロパティは __declspec(property(get=GetVisible,put=PutVisible)) VARIANT_BOOL Visible[]; となっています。 ここで、重要なのは Visible[] となっていることです。 Visbileと記述すると、設定時にはPutVisibleを使えという命令ですので PutVisibleのほうを見ると、 void PutVisible ( long lcid, VARIANT_BOOL RHS ); となっていて、引数が2つ必要なのではと気づきます。 よって、プロパティ Visible を使う場合 xXL->Visible[lcid] = RHS; というように指定しないといけないようです。 GetVisibleではlcidはデフォルトで 0 を指定するようになっているので、 >pXL->Visible = VARIANT_TRUE; は pXL->Visible[0] = VARIANT_TRUE; としてみてはどうでしょうか? もっとも、なぜ私の環境でエラーがでなかったかというと、 EXCEL.EXEを#importするときのrenameやらの指定が違うからです。 #import "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" \ rename("ReplaceText", "ReplaceTexXL") rename("CopyFile", "CopyFileXL") \ rename("DialogBox", "DialogBoxXL" ) rename("RGB", "RGBXL")\ rename("DocumentProperties", "DocumentPropertiesXL") \ exclude("IFont") exclude("IPicture") no_dual_interfaces とすると、xXL->Visible = VARIANT_TRUE でコンパイルエラーは出ません。 余り詳しくないので解説はできませんが。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.