初心者です。よろしくお願いします。
VC2005でexcel2003を操作する際にエラーが発生しますが
外部関数をコールする際のエラーなので原因がわかりません。
//------------
//インポート部
#import "C:\Program Files\Common Files\Microsoft Shared\Office11\MSO.DLL" \
rename("RGB","MSRGB") rename("DocumentProperties","MSDocumentProperties")
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
#define _MSEXCEL_PATH "C:\Program Files\Microsoft Office\Office11\excel.exe"
#import _MSEXCEL_PATH auto_search auto_rename dual_interfaces
//----------
//処理部
using namespace Excel;
_ApplicationPtr pXL;
//Excelの起動
pXL.CreateInstance(L"Excel.Application");
pXL->Visible[0] = TRUE;
//WorkBookを追加する
WorkbooksPtr pBooks = pXL->Workbooks;
_WorkbookPtr pBook = pBooks->Add((long)xlWorksheet);
_WorksheetPtr VV = pXL->ActiveSheet;
※VV->Range["A3"]["G5"]->Value = "aaaaa";
//Excelを終了する
pXL->Quit();
-------------------
※VV->Range["A3"]["G5"]->Value = "aaaaa";
ここでエラーが発生します。
すいませんがおおしえいただきたく
諸先輩方よろしくお願いします。
> ここでエラーが発生します。
どんなエラー? エラーメッセージをそのまま貼ってくれればいいのに。
BsToolPrj.exe の 0x7c812aeb でハンドルされていない例外が発生しました: Microsoft C++ の例外: _com_error (メモリの場所 0x0013f2b0)。
こうゆうエラーです。
よろしくお願いします。
参考になるHPでもいいので
よろしくお願いします;;
参考になるHPでもいいので
よろしくお願いします;;
VV->Range["A3:G5"][vtMissing]->Value = "aaaaa";
ではどうですか?
VV->Range["A3:G5"][vtMissing]->Value2
VV->Range["A3"]["G5"]->Value2
にするとできました。
なんでかわかりませんが。
Value・・・・メモリエラー
Value2・・・ 書き込みOK
Value1・・・・ビルドエラーでした。
参考HPありがとうございました。
isshi 様
たいへん、たいへん
ありがとうございました。
ツイート | ![]() |