MSWORD9.OLB好像是officw2000的文件吧。
Microsoft Office 2003使用的是这个文件:“MSWORD.OLB”。
如果你的是默认的安装目录,那么,在加载库文件的时候,定位到这个路径
C:\Program Files\Microsoft Office\OFFICE11
然后,直接在文件名里输入MSWORD.OLB,再点击打开即可。
我下载的都没有的,在哪下载的才有?
用VC++6.0把word文档转换成txt文档怎么弄啊 急 在线等~~
你的“弄”是啥意思啊?
Sub savedoctotextfile()
'把当前的作业文档保存到当前文件夹下,取名叫"sample_xxx.txt"
'Encoding:=65001 是UTF编码(推荐),如果期望text用中文GB2312编码就改成 936
'期望是日文的ISO-2022-jp就改50220、 期望Shift-JIS就改932 。。。。
ActiveDocument.SaveAs _
FileName:="sample_xxx.txt", _
FileFormat:=wdFormatText, AddToRecentFiles:=True, _
EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, _
SaveFormsData:=False, _
SaveAsAOCELetter:=False, _
Encoding:=65001, _
InsertLineBreaks:=False, _
AllowSubstitutions:=False, LineEnding:=wdCRLF
End Sub
Sub changetotext()
'在文档内把选择的部分弄成plain text
Selection.Copy
Selection.PasteSpecial DataType:=wdPasteText
End Sub
想在VC6中打开一个word文件,不知可不可以分享一下你的代码,多谢! 以下代码编译没有通过,请帮忙
//////////////////////操作word////////////////////////////
CoInitialize(NULL);//
COleVariant vTrue((short)TRUE);
COleVariant vFalse((short)FALSE);
COleVariant vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
//开始一个新的Microsoft Word实例
_Application oWordApp;
if (!oWordApp.CreateDispatch("Word.Application", NULL))
{
AfxMessageBox("CreateDispatch failed.", MB_OK | MB_SETFOREGROUND);
return;
}
oWordApp.SetVisible(TRUE);
//创建一个新的word文档
Documents oDocs = oWordApp.GetDocuments();
_Document oDoc = oDocs.Add(vOpt, vOpt, vOpt, vOpt);
//把文本添加到word文档
Selection oSel = oWordApp.GetSelection();
oSel.TypeText("计算输出结果");
oSel.TypeParagraph();
oSel.WholeStory();
// 设置字体
_Font font(oSel.GetFont());
font.SetSize(12.f);
oSel.SetFont(font);
//保存word文档
_Document oActiveDoc = oWordApp.GetActiveDocument();
COleVariant FileName(_T("输出结果.doc")); //文件名
COleVariant FileFormat((short)0);
COleVariant LockComments((short)FALSE);
COleVariant Password(_T(""));
COleVariant AddToRecentFiles((short)TRUE);
COleVariant WritePassword(_T(""));
COleVariant ReadOnlyRecommended((short)FALSE);
COleVariant EmbedTrueTypeFonts((short)FALSE);
COleVariant SaveNativePictureFormat((short)FALSE);
COleVariant SaveFormsData((short)FALSE);
COleVariant SaveAsAOCELetter((short)FALSE);
oActiveDoc.SaveAs(&FileName,&FileFormat,&LockComments,&Password,
&AddToRecentFiles,&WritePassword,&ReadOnlyRecommended,
&EmbedTrueTypeFonts,&SaveNativePictureFormat,&SaveFormsData,
&SaveAsAOCELetter, vFalse, vFalse, vFalse, vFalse, vFalse);
CoUninitialize();
注:1、关键你要用VC的添加类向导中,MFC ClassWizard ->add class ->from type library, 在office的安装目录下找到MSWORD.DLB
2、头文件"msword.h"
为什么我将word文档里写的C语言的代码复制粘贴到VC6.0的界面中,成了一整行,根本没有分行,
在VC里面按Ctrl+A再按Alt+F8
这个是让代码自动对齐?可是这个都已经是一行了,根本连分行都没有显示出来。。。
已经删掉那代码了,没法验证了,直接告诉我这样做能不能达到效果吧~
在一行了?那没办法了!你可以自己按按回车哦!!
VC++ MFC 打开word文档的问题
#include "stdafx.h"
#pragma warning(disable:4259)
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\Office11\\MSO.DLL" rename("IAccessible", "msoIAccessible")
using namespace Office;
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB"
//using namespace VBIDE;
#import "d:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB" rename("ExitWindows","WordExitWindows")
using namespace Word;
#include <atlbase.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(0);
{
_ApplicationPtr m_WordPtr;
DocumentsPtr m_DocsPtr;
_DocumentPtr m_DocPtr;
HRESULT hr;
try{
//CLSID sid;
//CLSIDFromProgID(L"word.application",&sid);
hr=m_WordPtr.CreateInstance(__uuidof(Application));
m_WordPtr->put_Visible(VARIANT_TRUE);
m_DocPtr=m_WordPtr->Documents->Add();
LPSTR a = "c:\\22.doc";
CComBSTR b = a;
BSTR c = b.m_str;
VARIANT va;
va.vt = VT_BSTR;
va.bstrVal = c;
m_WordPtr->Documents->Open(&va);
SelectionPtr sel=m_WordPtr->GetSelection();
sel->TypeText(_bstr_t("sadsaS12as"));
sel->MoveEnd();
InlineShapePtr sh=sel->GetInlineShapes()->AddPicture(_bstr_t("c:\\1.jpg"));
sel->SetRange(1,2);
//sel->TypeText(_bstr_t("!!!!!!!"));
_bstr_t text=sel->GetText();
char *s=_com_util::ConvertBSTRToString(text);
cout<<s<<endl;
TablesPtr tables = sel->GetTables();
TablePtr table = tables->Add(sel->GetRange(), 2, 5);
BordersPtr bords = table->GetBorders();
bords->PutOutsideLineStyle(wdLineStyleSingle);
bords->PutOutsideLineWidth(wdLineWidth150pt);
bords->PutInsideLineStyle(wdLineStyleSingle);
for (int i = 1; i<=2; i++)
{
for (int j = 1; j<=5; j++)
{
table->Cell(i,j)->GetRange()->PutText("20");
}
}
CellPtr cell = table->Cell(1,1);
cell->Merge(table->Cell(1,2));
sel->Delete();
m_WordPtr->GetActiveDocument()->SaveAs(&CComVariant("c:\\1.doc"));
//m_WordPtr->Quit();
}
catch(_com_error *e)
{
MessageBox(NULL, "haha ", "no word ",MB_OK);
return -1;
}
}
CoUninitialize();
return 0;
}
把导入库改为你的word配置的正确路径即可更多
import方法比较繁琐,大侠有没有com的方法描述。
这不是com是什么?
我错了,那请问大侠:C:\\1.doc这个路径到底是哪里?我对路径不懂。
VC调用word文档程序怎么写,望详细解答,我一点都不会,希望看完解答后就可以把程序写出来,需要
vc6.0
Microsoft Office Word
方法/步骤
1
打开vc6.0,新建一个MFC的基本对话框工程,我这里随便给它命名为1_1
2
点击查看,建立类向导,点击Add Class,选择From a type library。选择Microsoft Office安装目录下的MSWORD.OLE文件(我的默认路径是C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLE),打开。弹出一个增加类的界面,按shift全选(在程序设计的过程中,我们会知道哪些类是必要的,这里不管它),OK
3
在类视图区,会发现增加了很多类。下面我们首先进行COM组建的初始化,在应用程序的InitInstance函数中增加以下代码:
if(CoInitialize(NULL)!=S_OK)
{
AfxMessageBox("初始化COM组件失败!");
return FALSE;
}
4
接下来自己新建一个类,用来封装操作Word的API函数。点击插入,新建类,class type选择Generic Class(没有基类的),类名为CMeOffice。
5
打开文件视图区,编译头文件MeOffice.h,在其中加入:
#include"comdef.h"
#include"atlbase.h"
#include"msword.h"
和
public:
_Application m_wdApp;
Documents m_wdDocs;
_Document m_wdDoc;
Selection m_wdSel;
BOOL CreateApplication(); //创建Application
BOOL CreateDocument(); //创建Document文档
BOOL WriteText(LPSTR szStr);//向文档中写入数据
6
编辑MeOffice.cpp文件,加入自定义函数的实现(下面的代码的逻辑其实很好懂、看函数名就基本能明白函数的功能):
//这个函数打开一个没有文档的应用程序界面
BOOL CMeOffice::CreateApplication()
{
if(FALSE==m_wdApp.CreateDispatch("Word.Application"))
{
AfxMessageBox("创建Application失败!");
return FALSE;
}
m_wdApp.SetVisible(TRUE); //是否显示
return TRUE;
}
BOOL CMeOffice::CreateDocument()
{
if(!m_wdApp.m_lpDispatch)
{
AfxMessageBox("Application没有成功创建!");
return FALSE;
}
m_wdDocs.AttachDispatch(m_wdApp.GetDocuments());
if(!m_wdApp.m_lpDispatch)
{
AfxMessageBox("AttachDispatch失败");
return FALSE;
}
CComVariant Template("");
CComVariant NewTemplate(false),DocumentType(0),Visible;
m_wdDocs.Add(&Template,&NewTemplate,&DocumentType,&Visible);
//上面的代码足够新建一个文档
m_wdDoc=m_wdApp.GetActiveDocument();
if(!m_wdDoc.m_lpDispatch)
{
AfxMessageBox("GetActiveDocument失败");
return FALSE;
}
m_wdSel=m_wdApp.GetSelection();
if(!m_wdSel.m_lpDispatch)
{
AfxMessageBox("GetSelection失败");
return FALSE;
}
return TRUE;
}
BOOL CMeOffice::WriteText(LPSTR szStr)
{
m_wdSel.TypeText(szStr);
return TRUE;
}
7
好了,类我们已经封装好了。现在我们可以调用封装的函数,实现操作word的功能。
在对话框类中新建一个成员变量 CMeOffice m_meOffice;
在对话框初始化函数中加入下面的代码:
m_meOffice.CreateApplication();
m_meOffice.CreateDocument();
m_meOffice.WriteText("我是中国人民的儿子,我深深地爱着我的祖国!");
8
运行程序,就自动新建了一个Application,里面有一个Document,上面显示“我是中国人民的儿子,我深深地爱着我的祖国!”
9
主窗口的对话框没有隐藏,看起来很别扭,但我已经受不了了。写这个比想象的困难不少~
请问这个函数在哪里,我找不到啊
你说的是哪个函数
VC如何通过PrintOut实现打印指定页码范围的word文档
Range设置为wdPrintFromTo更多
设置过,不行,说未定义
Background 这个应该设置covFalse吧。
PrintFromTo的值应该就是3,设置3应该没问题
设置上看应该没问题,背景那个改false试试吧,确实看不到什么问题,这样应该可以了的。
不行哎、、哎、这个问题都弄了两天了、、
不清楚你报的什么错,可以尝试一下是不是DOC文档的问题,试试另外的文档和新建的文档能不能行。如果不行,想不出问题了,这个实在是没啥可调整的了。
我们老师要我们做C语言的作业,请问怎样复制VC6里输出结果的窗口到Word文档?
Alt + Print Screen sysRq
也就是Alt+F12右边的那个按键 自己仔细看
或者直接Print Screen sysRq复制全屏幕 到开始->程序->附件->画图 在剪切需要的窗口到Word 就行 方式自己选择吧
转载请注明出处51数据库 » vc6word文档 VC6.0怎么打开Word文件