c++ - Visual C++ Win32 还是 MFC C++?

标签 c++ winapi mfc ms-office

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

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

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

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

最佳答案

Which one should I pick among WIN32 C++ or MFC C++?

两者都可以。但是,MFC 将使您的工作更轻松,并且可以更快地完成。如果您使用原始 win32 api,您将不得不自己编写更多代码。

What library should I use?

Google Word Automation C++Word Automation MFC。在 MFC 中使用 ClassWizard 生成器,请参阅 instructions here或对于原始 winapi,请参阅 this CodeProject入门文章。

will that library need Microsoft Office to be installed on the machine my applications runs on?

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

(此外,正如评论中所述,C# 会让您的生活更轻松(除非您真的想坚持使用 C++))。

关于c++ - Visual C++ Win32 还是 MFC C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17290635/

相关文章:

c++ - 可移植设备的 Windows 句柄

c# - 在窗口打开时获得通知的最有效方式

c++ - 带有 CWinThread 指针数组的 WaitForMultipleObjects

c++ - 如何在 C++ 中将 RSA* 打印为字符串?

c++ - "for(int i = 0; i != 5;++i)"和 "for(int i = 0; i <= 5; i++)"哪个更好?

c++ - 析构调用

c - 请问 MessageBox() "eat"我的用户自定义消息?

c++ - 如何编写适用于任何类型集合对象的 size() 函数?

c++ - GetWindowRect 坐标不是屏幕相关的

c++ - 如何使 C++ 编译时模板强制转换常量?