【问题标题】:Visual C++ Win32 or MFC C++?Visual C++ Win32 或 MFC C++?
【发布时间】:2013-06-21 20:30:46
【问题描述】:

我想创建一个项目:一个自动化 Microsoft Office Word 文档的应用程序,它必须修改现成的模板。

我希望你帮助这个项目,为我提供一个起点。

我应该在 WIN32 C++ 或 MFC C++ 中选择哪一个?我应该使用什么库?最后一件事,该库是否需要在运行我的应用程序的机器上安装 Microsoft Office?我知道我的问题有更多的答案,但请帮助我,我想练习,我需要一个好的开始。

提前致谢! 附言我希望我的应用程序在 Windows 7 上运行并生成 DOCX 文件。

【问题讨论】:

  • 你需要使用 plain C++ 吗?对于 Word 自动化目的,.NET 平台似乎是要走的路。

标签: c++ winapi mfc ms-office


【解决方案1】:

我应该在 WIN32 C++ 或 MFC C++ 中选择哪一个?

任何一个都可以。但是,MFC 会让你的工作轻松很多,你可以更快地完成。如果您使用原始 win32 api,您将不得不自己编写更多代码。

我应该使用什么库?

谷歌Word Automation C++Word Automation MFC。对于 MFC,请使用 ClassWizard 生成器,请参阅 instructions here 或对于原始 winapi,请参阅 this CodeProject 文章了解初学者。

该库是否需要在计算机上安装 Microsoft Office 我的应用程序可以在上面运行吗?

对于文字自动化,是的。否则,您将需要一个能够理解 docx 文件的 C++ 库。我不知道解决方案,但我知道docx document is a Zip archive in OpenXML format (reference)。您可以尝试解压缩它并从那里开始工作,或者查看libOPC,它似乎提供了这一点(但我不知道具体细节和难度)。如果您想进一步了解文件格式,我确实找到了Where is the documentation for Office's docx/xlsx/pptx formats

(另外,正如 cmets C# 中所指出的那样,会让您的生活更轻松(除非您真的想坚持使用 C++)。

【讨论】:

  • SyncFusion 有一个 Office 库,但它是一个 .Net 库。
  • 我已经用 C# 制作了这个应用程序,但我想练习我的 C++,因为我想编写原生 Windows 代码。
【解决方案2】:

如果您的应用程序将具有大量 GUI,那么 MFC 是一个不错的选择。但是 ATL 库更适合使用 COM 接口(Office 应用程序的所有接口都使用 COM),并且开销比 MFC 少得多。在 MSDN 中搜索“ATL 示例”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 2011-06-21
    • 2012-01-19
    • 1970-01-01
    • 2010-11-24
    相关资源
    最近更新 更多