求助!!!C++怎么对word的文档操作?

DW_three 2012-12-12 09:37:44
RT
因为word文档中的内容直接复制粘贴到记事本的时候,文档的格式会丢失。
而一个一个的另存为txt格式的文本文本文档又很麻烦,所以我想写一个类,实现读入word文档中的内容,然后将其转换为txt格式的文本文档,C++能做到吗,如果可以,那么C++要怎样样读入word文档中的内容呢?
...全文
199 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
DW_three 2012-12-15
  • 打赏
  • 举报
回复
引用 3 楼 ForestDB 的回复:
直接录个save as txt宏 然后编辑下该宏(本质就是VBA了) 这样会不会更方便点?
呃,其实我写这个类,是老师布置的大作业,所以。。。 话说你说的这个宏可以说的详细点不?我是初学的菜鸟。
DW_three 2012-12-15
  • 打赏
  • 举报
回复
引用 2 楼 ljhtdcq 的回复:
貌似有个word操作的DLL,你可以在程序中调用
怎么调用?我是个菜鸟,可以说得详细点不?
DW_three 2012-12-15
  • 打赏
  • 举报
回复
引用 1 楼 Binzo 的回复:
C O M
是个什么东西?
aleyuan 2012-12-12
  • 打赏
  • 举报
回复
我只会用com
ForestDB 2012-12-12
  • 打赏
  • 举报
回复
直接录个save as txt宏 然后编辑下该宏(本质就是VBA了) 这样会不会更方便点?
Tiger-3D 2012-12-12
  • 打赏
  • 举报
回复
貌似有个word操作的DLL,你可以在程序中调用
Binzo 2012-12-12
  • 打赏
  • 举报
回复
C O M
Ailoverer 2012-12-12
  • 打赏
  • 举报
回复
用的com 具体可以在网上搜索 比较多
赵4老师 2012-12-12
  • 打赏
  • 举报
回复
1.在VC中新建一控制台程序,选支持MFC(当然,你也可以不选择支持MFC的,不过会很麻烦) 2.按CTRL+W调出MFC ClassWizard,Add Class->From a type library,选择你的word的类型库 (例如我的是word2003,安装在e盘,我的路径是"e:\edittools\microsoft office\office11\msword.olb"), 选择完毕后,在弹出的窗口中选择要让classwizard生成的包装类,在本例中要用到 _Application, Documents, _Document, Range 这四个类,选中他们后按OK 3.进入你的main函数所在的cpp文件,加入头文件引用 #include "msword.h" //引用刚才classwizard生成的idispatch包装类 4.加入代码 ……
// console_word.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "console_word.h"
#include "msword.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// The one and only application object

CWinApp theApp;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int nRetCode = 0;

    // initialize MFC and print and error on failure
    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
        // TODO: change error code to suit your needs
        printf(_T("Fatal Error: MFC initialization failed!\n"));
        nRetCode = 1;
    }
    else
    {
        // TODO: code your application's behavior here.
        if  (CoInitialize(NULL)  !=  S_OK)
        {
            AfxMessageBox("初始化COM支持库失败!");
            return  -1;
        }

        _Application  wordApp;
        Documents     docs;
        _Document     doc;
        Range         aRange;
        COleVariant   vTrue((short)TRUE), vFalse((short)FALSE), vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
        CString       txt;

        wordApp.CreateDispatch("Word.Application",NULL);
        wordApp.SetVisible(FALSE);
            docs=wordApp.GetDocuments();
                doc=docs.Open(COleVariant("c:\\new\\测试.doc"),vFalse,vTrue,vFalse,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt);
                    aRange=doc.Range(vOpt,vOpt);
                        txt=aRange.GetText();
                        AfxMessageBox(txt);//这里GetText得到的就是word文件的纯文本了,你可以将其写到txt文件中
                        printf("[%s]\n",txt.GetBuffer(txt.GetLength()));//里面的换行不是\r\n而是\r,所以需要输出重定向到文本文件看结果。
                    aRange.ReleaseDispatch();
                doc.Close(vOpt,vOpt,vOpt);
                doc.ReleaseDispatch();
            docs.ReleaseDispatch();
        wordApp.Quit(vOpt,vOpt,vOpt);
        wordApp.ReleaseDispatch();

        CoUninitialize();
    }

    return nRetCode;
}


vf6.0,要考二级没系统的下哈 Microsoft Visual FoxPro 6.0 for Windows 的常见问题 这些是有关 Microsoft Visual FoxPro 最常见的问题。在您求助 Microsoft 产品支持服务之前,请先查阅这张列表。 若想打印这些附注,请从“文件”菜单中选择“打印”命令。此文档分为以下四部分: --------------------------------------------------------------------- 部分 1. 技术支持与市场 部分 2. Visual FoxPro 6.0 新增功能 部分 3. 从其他版本的 FoxPro 和 Visual FoxPro 中移植 部分 4. Visual FoxPro 常见问题 --------------------------------------------------------------------- 部分 1. 技术支持与市场 问题 1-1: 从何处可以获得产品的更新版本? 答案: 在 Visual FoxPro 的 Web 站点上即可获得产品的更新信息,其中包括有关 Service Pack 和更新的示例、向导及其他代码的信息,该站点的网址为: www.microsoft.com/vfoxpro 请定期查看该网站,以便下载产品的最新版本。 问题 1-2: 从何处可以得到有关 Visual FoxPro 的详细资料? 答案: 通过 Microsoft Visual FoxPro Web 站点是随时获得各种最新产品发布信息的最佳途径。在此站点上不仅有新的产品公告,而且还提供了产品的更新信息、技术文章、白皮书、专业开发人员设计的优秀示例、会议公告、以及与其他许多 FoxPro web 站点的各种链接。 问题 1-3: 如何获得技术支持,以及如何报告软件错误? 答案: Microsoft Visual FoxPro Web 站点已经链接到了多种联机支持选项,其中包括覆盖面广阔的有关所有产品 Microsoft Knowledge Base(Microsoft 知识库)。您还可以阅读一份有关常见问题的清单。除联机支持之外,还可以直接通过电话获得技术支持。“帮助”菜单中的选项可列出技术支持的电话号码。这些电话号码也可用于报告产品中的错误。 问题 1-4. 什么是 Knowledge Base?如何使用它? 答案: Knowledge Base 是内容广泛的论文集,覆盖了如何使用产品的各种特性、已知的软件错误及其解决方案或回避的方法、以及其他有助于使用各种 Microsoft 产品的有用信息。通过以下站点可访问整个 Knowledge Base: support.microsoft.com 问题 1-5: 是否会有 Visual FoxPro 6.0a? 答案: Microsoft 公司一向承诺为用户提供高质量的产品。如果确实需要,我们将提供 Visual FoxPro 6.0 的错误修订版。但是,修订版不会使用 6.0a 版的形式。Visual FoxPro 6.0 中任何错误的修正都将包含在 Visual Studio Service Pack 中。同时还会在 Visual FoxPro 的 www.microsoft.com/vfoxpro 或 Visual Studio 的www.microsoft.com/vstudio 的 Web 站点上发布修订公告。 问题 1-6: Microsoft 公司为应用程序的开发提供了一些优秀的解决方案。怎样才能知道应该向客户推荐和使用哪种产品? 答案: 在选择适用某项任务的产品时,需要考虑多方面的因素。Microsoft Visual FoxPro web 站点上有一份优秀的策略背景论文,它比较了 Visual FoxPro、Visual Basic、SQL Server 和 Access 等 Microsoft 产品之间的不同。 问题 1-7: 哪里可以找到 Visual FoxPro 的使用示例? 答案: Visual FoxPro 6.0 产品中带有丰富的示例,其中有一些是针对 6.0 版特有功能的新示例。与 Visual FoxPro 以前的版本不同,这些示例将与所有 Visual Studio 示例安装在一起。您必须运行 MSDN Library 的“自定义”安装来安装这些示例。在 Visual FoxPro 中可使用新的 HOME(2) 函数方便地找到已安装示例的位置。 除了产品中所自带的示例外,Microsoft Visual FoxPro web 站点还将经常提供新的示例。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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