我在使用互操作库将 OLEObject 添加到 VC++ 中的 excel 工作表时遇到问题。编译器是 VC++ 2010 express。互操作库适用于 Office 2007。
这是声明:
#define XL Microsfot::Office::Interop::Excel
...
XL::Application^ xlApp;
XL::Workbook^ xlWb;
XL::Worksheet^ xlWs;
这是控制excel的代码:
xlApp = gcnew XL::ApplicationClass();
xlWb = xlApp->Workbooks->Add(Type::Missing);
xlWs = safe_cast<XL::Worksheet^>(xlApp->ActiveSheet);
xlApp->Visible = true;
xlWs->Cells[1, 1] = "OMG I can put stuff in cells no problem";
//this line generates an error C2227: left of '->Add' must point to class/struct/union/generic type
xlWs->OLEObjects->Add("somefile.someext", false, false);
我在excel中做了一个宏录制来添加一个OLEObject,这是它生成的VB代码:
ActiveSheet.OLEObjects.Add(Filename:="C:\somefile.someext", Link:=False, DisplayAsIcon:=False).Select
那么在 VB 中有一个添加到 OLEObjects 的方法,但在 C++ 中没有?我究竟做错了什么?