VCからのExcel&マクロ起動について教えてください。
他サイトを参考にExcelの起動を作成しました。
が、Excelファイルは起動できるのですが、マクロが動きません。
アプリはVS2003 Excelは2007です。
//インポート
#import C:\\Program Files\\Common Files\\microsoft shared\\OFFICE12\\MSO.DLL
no_namespace rename(DocumentProperties, DocumentPropertiesXL)
#import C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB
no_namespace
#import C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE rename(DialogBox,
DialogBoxXL) rename(RGB, RBGXL) rename(DocumentProperties, DocumentPropertiesXL)
no_dual_interfaces
//実際の処理
COleVariant data,data1;
using namespace Excel;
_ApplicationPtr pXL;
//Excelの起動
pXL.CreateInstance(LExcel.Application);
pXL->Visible = VARIANT_TRUE;
//WorkBookを追加する
WorkbooksPtr pBooks = pXL->Workbooks;
_WorkbookPtr pBook = pBooks->Open(LC:\\TEST\\Test.xls);
//マクロ名を格納
data.SetString(TestMacro, VT_BSTR); //実行マクロ名
data1.SetString(テスト, VT_BSTR); //引数
//マクロの実行。
pXL->_Run2(data,data1);
pXL->DisplayAlerts = FALSE;
※Excel側のマクロは引数を受け取ってメッセージボックスで表示するだけのものです。
お分りになる方いらっしゃいますか?
2007は持っていませんが
pXL->_Run2(data,data1);
の部分を
pXL->Run(data);
にしてみてはどうでしょう?