用户登录
用户注册

分享至

vc6word文档 VC6.0怎么打开Word文件

  • 作者: 段姐007
  • 来源: 51数据库
  • 2020-04-21

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文件

软件
前端设计
程序设计
Java相关