首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VC++是否以编程方式添加excel OLEObject?

VC++是否以编程方式添加excel OLEObject?
EN

Stack Overflow用户
提问于 2013-08-22 00:02:31
回答 1查看 408关注 0票数 0

我在使用互操作库向VC++中的excel工作表添加OLEObject时遇到了问题。编译器是VC++ 2010 express。Interop库适用于Office2007。

声明如下:

代码语言:javascript
复制
#define XL Microsfot::Office::Interop::Excel
...
XL::Application^ xlApp;
XL::Workbook^ xlWb;
XL::Worksheet^ xlWs;

下面是控制excel的代码:

代码语言:javascript
复制
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代码:

代码语言:javascript
复制
ActiveSheet.OLEObjects.Add(Filename:="C:\somefile.someext", Link:=False, DisplayAsIcon:=False).Select

所以在VB中有一个Add方法到OLEObjects,而在C++中没有?我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-08-22 22:08:16

这样啊,原来是这么回事!

代码语言:javascript
复制
XL::OLEObjects^ xlObjs = safe_cast<XL::OLEObjects^>(xlWs->OLEObjects(Type::Missing));
xlObjs->Add(Type::Missing, "somefile.someext", false, false, Type::Missing, Type::Missing, Type::Missing, 0, 0, 20, 20);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18362370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档