社区
ATL
帖子详情
vs2008
lanhxg
2011-09-27 10:49:11
vs2008 ms office2010 word
导入Microsoft Office\\Office14\\MSWORD.OLB
里面的类 如CApplication的封装类只有方法,
Methods 的方法都可以用,但是 Properties 上面的方法都不能用.
居然在电脑用户的usr目录下
找到msword.tlh。里面定义了蛮多有用的东西
我想请教这怎么回事,如何才能用到这个东西!
...全文
101
9
打赏
收藏
vs2008
vs2008 ms office2010 word 导入Microsoft Office\\Office14\\MSWORD.OLB 里面的类 如CApplication的封装类只有方法, Methods 的方法都可以用,但是 Properties 上面的方法都不能用. 居然在电脑用户的usr目录下 找到msword.tlh。里面定义了蛮多有用的东西 我想请教这怎么回事,如何才能用到这个东西!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yyps
2011-09-29
打赏
举报
回复
顺便说一句,导入office类,势必会和你前面导入的类 发生 redefine 错误,你把需要的类名 改一下 即可!
yyps
2011-09-29
打赏
举报
回复
你是不是在做office插件!劝你还是导入 office 类吧! vc6里是用类向导 add class ,vs 我用的少,不敢说!
康斯坦汀
2011-09-29
打赏
举报
回复
回楼上,你的CApplication是通过VS2010的向导加进去的,它会根据OFFICE的typelib
生成若干.H文件,这可视为静态调用,如果你没有通过向导生成.H,只是improt那些typelib
可视为动态调用,可以说是静态绑定和动态绑定。两者提供的都是一样的内容,本质上没有区别。
更详细的,你可浏览微软OFFICE开发者社区,或者Google一下。
mainsea
2011-09-28
打赏
举报
回复
没看懂。。。。。。。
lanhxg
2011-09-28
打赏
举报
回复
[Quote=引用 5 楼 r3000 的回复:]
全部是正常现象:
1)Application 对象本来就只有方法,没有属性。 不信,你调用OLE View(这个工具在VC6
安装后菜单里Visual C++ 6.0 tools下面就有,VS2010在Samples里面要自己编译)。
2)“在电脑用户的usr目录下找到msword.tlh。里面定义了蛮多有用的东西”
这是由于你的工程设置的缘故,默认的设置这些文件会生成在Debug……
[/Quote]
那如何是动态调用,动态调用之后是不是就可以使用这里的属性了,如何设置。我再加40分~麻烦清楚点。(初次接触,麻烦能够清楚点,最后给我点步骤或是示例代码)
康斯坦汀
2011-09-28
打赏
举报
回复
全部是正常现象:
1)Application 对象本来就只有方法,没有属性。 不信,你调用OLE View(这个工具在VC6
安装后菜单里Visual C++ 6.0 tools下面就有,VS2010在Samples里面要自己编译)。
2)“在电脑用户的usr目录下找到msword.tlh。里面定义了蛮多有用的东西”
这是由于你的工程设置的缘故,默认的设置这些文件会生成在Debug或者Release下面,
你修改了“中间目录”,因此生成在temp路径下。参见你工程文件-〉属性-〉配置属性-〉中间目录
3)msword.tlh和msword.tli如果你是动态调用的(即不生成CApplication这些类)则有用,
在你生成CApplication后,他们已经没用了,他们只是中间文件而已。
lanhxg
2011-09-28
打赏
举报
回复
[Quote=引用 3 楼 what1136075171 的回复:]
没看懂。。。。。。。
[/Quote]
class CApplication : public COleDispatchDriver
{
public:
CApplication(){} // 调用 COleDispatchDriver 默认构造函数
CApplication(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
CApplication(const CApplication& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
// 属性
public:
// 操作
public:
// _Application 方法
public:
LPDISPATCH get_Application()
{
LPDISPATCH result;
InvokeHelper(0x3e8, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}
long get_Creator()
{
long result;
InvokeHelper(0x3e9, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
LPDISPATCH get_Parent()
{
LPDISPATCH result;
InvokeHelper(0x3ea, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}
.
.
.
.
. // _Application 属性
public:
};
以上是封装的CApplication类,里面没有属性可以使用的
但是在导入msword.olb后在C:\Users\lanhxh01\AppData\Local\Temp
可以找到msword.tlh和msword.tli
里面很多要用的东西...
我要怎么样使用这些东西!如何加入到我的工程里去?
lanhxg
2011-09-27
打赏
举报
回复
不懂?求解释!!!
lgstudyvc
2011-09-27
打赏
举报
回复
怎么回出现这问题呢?
VS
2008 MFC下用OpenCV2.0进行图像读取和边缘检测
VS
2008 MFC下用OpenCV2.0进行图像读取和边缘检测,通过对话框来打开图像文件、然后图像大小进行缩放、适当地显示在图片控件的框架内。
利用MFC的Picture控件显示图像和视频/摄像头画面(
VS
2008+OpenCV2.0)
利用MFC的Picture控件显示和处理图像,后面又添加了播放视频和捕获摄像头画面的功能,其中播放视频的功能只有 'Play' 和 'Stop',不能实现暂停
VS
90-KB948127.exe
"
VS
90-KB948127.exe” 来解决问题
vs
2008 -fatal error LNK1000 Internal error during IncrBuildImage;
VS
2008在win7下不时出现Microsoft Incremental Linker已停止工作的一种解决方案
VS
2010/2008/2005 MSCOMM串口控件
VS
2010MFC没有串口控件,此压缩包里包含了串口控件相关的3个文件。mscomm32.ocx MSCOMM32.oca MSCOMM32.DEP MSCOMM.SRG 将这几个文件拷贝到一个固定的目录下然后注册就可以在MFC里正常使用串口控件了。 注册:开始->运行 输入Regsvr32 "C:\WINDOWS\system32\MSCOMM32.OCX" 根据自己文件的存放目录修改就OK了
MSComm控件
如果只安装
VS
2005,
VS
2008,使用MFC编程时,工具箱中无法添加串口通信控件。安装了这个组件后,就可以添加串口通信控件了。 1、将Mscomm.srg, Mscomm32.ocx,Mscomm32.dep三个文件复制到系统文件夹中,即C:\windows\system32 2、运行 注册.bat 3、导入 注册.reg
ATL
3,245
社区成员
48,537
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章