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 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
怎么回出现这问题呢?

3,245

社区成员

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

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