【问题标题】:What is the best way to call MSWord from C++从 C++ 调用 MSWord 的最佳方法是什么
【发布时间】:2010-05-19 09:46:38
【问题描述】:

从 C++ 调用 MSWord 的最佳方法是什么

我以前从未这样做过。我一直使用 VB6 和 Word-COM-Library:C:\Program Files\Microsoft Office\OfficeXX\MSWORD.olb

分别:
Microsoft Word XX.0 Object Library

  1. 我应该如何从 C++ (VS2010) 使用/调用 Word?
  2. 我应该使用 .NET 吗? (C++CLI)
  3. 你有好的分步说明吗?

VB中的代码示例

Option Explicit

Sub Main()
    Dim mWord    As New Word.Application
    mWord.ScreenUpdating = False
    Dim mMaxParagraph  As Long
    Dim aDoc As Word.Document
    Dim aFileName As String
    aFileName = "C:\mydoc.doc"
    Set aDoc = mWord.Documents.Open(aFileName)
    mMaxParagraph = mWord.ActiveDocument.Paragraphs.Count
    Debug.Print CStr(mMaxParagraph)
    aDoc.Close
    mWord.Quit
End Sub

【问题讨论】:

  • 你绝对必须使用C++吗? VB代码很容易翻译成C#4
  • 感谢 JBRWilkinson。但现在我只想了解原生 C++ 和 COM 到底有多痛苦。

标签: c++ ms-word


【解决方案1】:

只要您使用 ATL 智能 COM 指针,在 C++ 中执行 COM 就不会那么痛苦。您只需 #import 类型库,这将创建一大堆您可以在应用程序中使用的智能指针类。

【讨论】:

  • 谢谢!听起来不错,你能举个小例子吗?
  • IIRC #import <C:\Program Files\Microsoft Office\OfficeXX\MSWORD.tlb>。这将生成许多带有声明的临时 C++ 文件。
【解决方案2】:

在本机 C++ 中执行 COM 是一项痛苦的练习。您可能最好使用 C++/CLI,它为您提供了 C++ 的所有功能以及轻松与 .NET 进行交互的能力。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 2013-06-25
    • 2011-02-22
    • 2016-04-10
    • 1970-01-01
    相关资源
    最近更新 更多