包含#include "CApplication.h",
定义_Application app; 对象老是报错
我参照的是这个的内容
http://www.joyvc.cn/ComponentDevelop/ComponentDevelop00016.html
但是VC2005导入那些类没有“msppt8.h”
我就添加每个对应类的头文件。愣是编译通不过。报的是产生的一个中间文件的错。
太奇怪了...
8 个解决方案
#1
报什么错误了
#2
出错代码是什么? 可以发给我gw_net@163.com
我帮你看一下
我帮你看一下
#3
vs2005貌似有问题,建议用vs2003或vs2008
#4
// for MS Office 2003
#import "C:\Program Files\Common Files\Microsoft Shared\Office11\MSO.DLL"
#import "c:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.olb"
#import "c:\Program Files\Microsoft Office\Office11\MSWORD.olb" \
rename("ExitWindows","_ExitWindows")
#import "c:\Program Files\Microsoft Office\Office11\EXCEL.exe" \
rename("DialogBox","_DialogBox") \
rename("RGB","_RGB") \
exclude("IFont","IPicture")
同事要导入CApplication
这样就可以了。不报错。可惜的时候就是老是没有启动WORD。
#import "C:\Program Files\Common Files\Microsoft Shared\Office11\MSO.DLL"
#import "c:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.olb"
#import "c:\Program Files\Microsoft Office\Office11\MSWORD.olb" \
rename("ExitWindows","_ExitWindows")
#import "c:\Program Files\Microsoft Office\Office11\EXCEL.exe" \
rename("DialogBox","_DialogBox") \
rename("RGB","_RGB") \
exclude("IFont","IPicture")
同事要导入CApplication
这样就可以了。不报错。可惜的时候就是老是没有启动WORD。
#5
void CtestDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CApplication app; //定义一个WORD的应用对象
if(!app.CreateDispatch(_T("Word.Application"))) //启动WORD
{
AfxMessageBox(_T("居然你连OFFICE都没有安装吗?"));
return;
}
AfxMessageBox(_T("WORD 已经运行启动啦,你可以用Ctrl+Alt+Del查看"));
app.put_Visible(TRUE); //设置WORD可见。//当然,如果你想要悄悄地调用WORD的功能,则注释掉这条语句
AfxMessageBox(_T("现在你已经看到WORD的程序界面了吧"));
AfxMessageBox(_T("WORD准备要退出啦"));
VARIANT SaveChanges,OriginalFormat,RouteDocument; //定义调用QUIT时使用的参数
SaveChanges.vt=VT_BOOL; //设置退出WORD时候的保存参数
SaveChanges.boolVal=VARIANT_FALSE; //为不保存任何文档,模板及设置
::VariantInit(&OriginalFormat); //清空变量
RouteDocument.vt=VT_EMPTY; //清空变量的另一种方法
//调用Quit退出WORD应用程序。当然不调用也可以,那样的话WORD还在运行着那
app.Quit(&SaveChanges,&OriginalFormat,&RouteDocument);
app.ReleaseDispatch(); //释放对象指针。切记,必须调用
AfxMessageBox(_T("Step1执行完成。接着请学习Setp2"));
OnOK();
}
这个代码也是别人的代码。
{
// TODO: 在此添加控件通知处理程序代码
CApplication app; //定义一个WORD的应用对象
if(!app.CreateDispatch(_T("Word.Application"))) //启动WORD
{
AfxMessageBox(_T("居然你连OFFICE都没有安装吗?"));
return;
}
AfxMessageBox(_T("WORD 已经运行启动啦,你可以用Ctrl+Alt+Del查看"));
app.put_Visible(TRUE); //设置WORD可见。//当然,如果你想要悄悄地调用WORD的功能,则注释掉这条语句
AfxMessageBox(_T("现在你已经看到WORD的程序界面了吧"));
AfxMessageBox(_T("WORD准备要退出啦"));
VARIANT SaveChanges,OriginalFormat,RouteDocument; //定义调用QUIT时使用的参数
SaveChanges.vt=VT_BOOL; //设置退出WORD时候的保存参数
SaveChanges.boolVal=VARIANT_FALSE; //为不保存任何文档,模板及设置
::VariantInit(&OriginalFormat); //清空变量
RouteDocument.vt=VT_EMPTY; //清空变量的另一种方法
//调用Quit退出WORD应用程序。当然不调用也可以,那样的话WORD还在运行着那
app.Quit(&SaveChanges,&OriginalFormat,&RouteDocument);
app.ReleaseDispatch(); //释放对象指针。切记,必须调用
AfxMessageBox(_T("Step1执行完成。接着请学习Setp2"));
OnOK();
}
这个代码也是别人的代码。
#6
就是没有启动WORD
app.CreateDispatch(_T("Word.Application")
这里就不行了
app.CreateDispatch(_T("Word.Application")
这里就不行了
#7
先MARK一下,以后再看!
#1
报什么错误了
#2
出错代码是什么? 可以发给我gw_net@163.com
我帮你看一下
我帮你看一下
#3
vs2005貌似有问题,建议用vs2003或vs2008
#4
// for MS Office 2003
#import "C:\Program Files\Common Files\Microsoft Shared\Office11\MSO.DLL"
#import "c:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.olb"
#import "c:\Program Files\Microsoft Office\Office11\MSWORD.olb" \
rename("ExitWindows","_ExitWindows")
#import "c:\Program Files\Microsoft Office\Office11\EXCEL.exe" \
rename("DialogBox","_DialogBox") \
rename("RGB","_RGB") \
exclude("IFont","IPicture")
同事要导入CApplication
这样就可以了。不报错。可惜的时候就是老是没有启动WORD。
#import "C:\Program Files\Common Files\Microsoft Shared\Office11\MSO.DLL"
#import "c:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.olb"
#import "c:\Program Files\Microsoft Office\Office11\MSWORD.olb" \
rename("ExitWindows","_ExitWindows")
#import "c:\Program Files\Microsoft Office\Office11\EXCEL.exe" \
rename("DialogBox","_DialogBox") \
rename("RGB","_RGB") \
exclude("IFont","IPicture")
同事要导入CApplication
这样就可以了。不报错。可惜的时候就是老是没有启动WORD。
#5
void CtestDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CApplication app; //定义一个WORD的应用对象
if(!app.CreateDispatch(_T("Word.Application"))) //启动WORD
{
AfxMessageBox(_T("居然你连OFFICE都没有安装吗?"));
return;
}
AfxMessageBox(_T("WORD 已经运行启动啦,你可以用Ctrl+Alt+Del查看"));
app.put_Visible(TRUE); //设置WORD可见。//当然,如果你想要悄悄地调用WORD的功能,则注释掉这条语句
AfxMessageBox(_T("现在你已经看到WORD的程序界面了吧"));
AfxMessageBox(_T("WORD准备要退出啦"));
VARIANT SaveChanges,OriginalFormat,RouteDocument; //定义调用QUIT时使用的参数
SaveChanges.vt=VT_BOOL; //设置退出WORD时候的保存参数
SaveChanges.boolVal=VARIANT_FALSE; //为不保存任何文档,模板及设置
::VariantInit(&OriginalFormat); //清空变量
RouteDocument.vt=VT_EMPTY; //清空变量的另一种方法
//调用Quit退出WORD应用程序。当然不调用也可以,那样的话WORD还在运行着那
app.Quit(&SaveChanges,&OriginalFormat,&RouteDocument);
app.ReleaseDispatch(); //释放对象指针。切记,必须调用
AfxMessageBox(_T("Step1执行完成。接着请学习Setp2"));
OnOK();
}
这个代码也是别人的代码。
{
// TODO: 在此添加控件通知处理程序代码
CApplication app; //定义一个WORD的应用对象
if(!app.CreateDispatch(_T("Word.Application"))) //启动WORD
{
AfxMessageBox(_T("居然你连OFFICE都没有安装吗?"));
return;
}
AfxMessageBox(_T("WORD 已经运行启动啦,你可以用Ctrl+Alt+Del查看"));
app.put_Visible(TRUE); //设置WORD可见。//当然,如果你想要悄悄地调用WORD的功能,则注释掉这条语句
AfxMessageBox(_T("现在你已经看到WORD的程序界面了吧"));
AfxMessageBox(_T("WORD准备要退出啦"));
VARIANT SaveChanges,OriginalFormat,RouteDocument; //定义调用QUIT时使用的参数
SaveChanges.vt=VT_BOOL; //设置退出WORD时候的保存参数
SaveChanges.boolVal=VARIANT_FALSE; //为不保存任何文档,模板及设置
::VariantInit(&OriginalFormat); //清空变量
RouteDocument.vt=VT_EMPTY; //清空变量的另一种方法
//调用Quit退出WORD应用程序。当然不调用也可以,那样的话WORD还在运行着那
app.Quit(&SaveChanges,&OriginalFormat,&RouteDocument);
app.ReleaseDispatch(); //释放对象指针。切记,必须调用
AfxMessageBox(_T("Step1执行完成。接着请学习Setp2"));
OnOK();
}
这个代码也是别人的代码。
#6
就是没有启动WORD
app.CreateDispatch(_T("Word.Application")
这里就不行了
app.CreateDispatch(_T("Word.Application")
这里就不行了
#7
先MARK一下,以后再看!