VC 操作 Excel

呔妖怪来嘛 2011-09-07 03:57:31
http://technet.microsoft.com/zh-tw/library/microsoft.office.interop.excel.iwindow.displaygridlines(office.11).aspx
光给出来这个属性 ,也没说咋用 ,这不是坑爹呢嘛 ,找不到啥方法跟这属性相关呐
property Boolean DisplayGridlines{
Boolean get();
Void set(Boolean);
}
...全文
178 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
呔妖怪来嘛 2011-09-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zgl7903 的回复:]
你要导入 Window 类
[/Quote]
不好意思 当时没反应过来
呔妖怪来嘛 2011-09-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 masterz 的回复:]
楼主可能有什么地方操作不太对,以VC++ 2010为例,看看Adding an MFC Class from a Type Library
Add class from File
c:\program files\microsoft office\office14\excel.exe
Add all classes
然后在solution里面找DisplayGridlines
D:\t……
[/Quote]
谢谢 Add all确实是有,我只添加了几个
masterz 2011-09-08
  • 打赏
  • 举报
回复
楼主可能有什么地方操作不太对,以VC++ 2010为例,看看Adding an MFC Class from a Type Library
Add class from File
c:\program files\microsoft office\office14\excel.exe
Add all classes
然后在solution里面找DisplayGridlines
D:\tmp\autoexcel\CWindow0.h(111): BOOL get_DisplayGridlines()
D:\tmp\autoexcel\CWindow0.h(117): void put_DisplayGridlines(BOOL newValue)
D:\tmp\autoexcel\CWorksheetView.h(46): BOOL get_DisplayGridlines()
D:\tmp\autoexcel\CWorksheetView.h(52): void put_DisplayGridlines(BOOL newValue)

BOOL get_DisplayGridlines()
{
BOOL result;
InvokeHelper(0x285, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void put_DisplayGridlines(BOOL newValue)
{
static BYTE parms[] = VTS_BOOL ;
InvokeHelper(0x285, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}


呔妖怪来嘛 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xuddk727 的回复:]
完整的资料还真没见到过,都是网上搜一小部分,然后猜测。
[/Quote]
是的 ,不过听说当时office提供的这些接口就是专门给VB用的
许文君 2011-09-08
  • 打赏
  • 举报
回复
完整的资料还真没见到过,都是网上搜一小部分,然后猜测。
呔妖怪来嘛 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 onlycs 的回复:]
本质上,EXCEL8.H等提供COM接口。接口终端应该调用的VB.故一些函数说明,可再EXCEL帮助里面找到。
[/Quote]
不太理解您说的什么意思
呔妖怪来嘛 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zgl7903 的回复:]
你要导入 Window 类
[/Quote]
请问 您说的是导入哪个类
呔妖怪来嘛 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 masterz 的回复:]
按msdn的介绍建立VC++工程自动化Excel, build一下,它会生成excel automation接口相应的.h(or .tlh)文件,在你的工程目录下搜索DisplayGridlines,有可能看到DisplayGridlines,也有可能看到Put_DisplayGridlines或者PutDisplayGridlines
[/Quote]
搜索过了 完全没有与DisplayGridlines相关的 ,只有与SetHasMinorGridlines这个类似的一些东西
zgl7903 2011-09-08
  • 打赏
  • 举报
回复
你要导入 Window 类
onlycs 2011-09-08
  • 打赏
  • 举报
回复
本质上,EXCEL8.H等提供COM接口。接口终端应该调用的VB.故一些函数说明,可再EXCEL帮助里面找到。
龙行天下之Sky 2011-09-08
  • 打赏
  • 举报
回复
顶一下
masterz 2011-09-07
  • 打赏
  • 举报
回复
按msdn的介绍建立VC++工程自动化Excel, build一下,它会生成excel automation接口相应的.h(or .tlh)文件,在你的工程目录下搜索DisplayGridlines,有可能看到DisplayGridlines,也有可能看到Put_DisplayGridlines或者PutDisplayGridlines
呔妖怪来嘛 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 masterz 的回复:]
参考How to create an automation project using MFC and a type library
Office Automation Using Visual C++
可以在Excel里面通过vba学习它的用法,然后翻译为VC++调用
[/Quote]
您是说用Excel录制宏?
我是这么做的 ,但是翻译的时候那些变量没有,感觉像是私有的变量
VC访问不了 ,而且也找不到这些变量对应的接口

比如
ActiveWindow.DisplayGridlines = False
就是录制下来的宏
不知道如何用VC实现
masterz 2011-09-07
  • 打赏
  • 举报
回复
参考How to create an automation project using MFC and a type library
Office Automation Using Visual C++
可以在Excel里面通过vba学习它的用法,然后翻译为VC++调用
呔妖怪来嘛 2011-09-07
  • 打赏
  • 举报
回复
好像这些接口专为VB提供的 ,Delphi可以访问
VC不能访问

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧