如何将Delphi的TWordApplication与Word实现完美碰撞?

2026-04-10 21:063阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计355个文字,预计阅读时间需要2分钟。

如何将Delphi的TWordApplication与Word实现完美碰撞?

在Delphi中使用TWordApplication时,我的应用程序打开新的单词实例并在文档上创建内容。问题是,首次运行我的应用程序后,随后打开真正的单词exe(Word.exe)没有打开新的单词实例,而是链接到我的应用程序创建的实例。

我在Delphi中使用TWordApplication.我的应用程序打开新的单词实例并在其文档上创建一些内容.问题是我第一次运行我的应用程序,然后打开真正的单词exe. Word exe没有打开新的单词实例,但它链接到我的应用程序实例.因此,当我的应用程序写入其文档时,所有文本都显示在用户可见的exe文字上.

WordApp := TWordApplication.Create(nil); WordApp.ConnectKind := ckNewInstance; (WordApp.Documents.Add(EmptyParam,EmptyParam,EmptyParam, varFalse ));

然后用户手动打开Word.

如何将Delphi的TWordApplication与Word实现完美碰撞?

WordApp.Selection.Text := 'test test test';

用户在手动打开的Word中看到“测试测试”.

如果我首先手动打开Word并启动我的应用程序一切正常.

这是Word的默认行为,它使用正在运行的实例.您需要做的是存储对要修改的文档的引用.因此,请勿使用ActiveDocument,而是使用您存储的文档.因为无法保证ActiveDocument是您认为的文档.

//starting Word var App: TWordApplication; Doc: WordDocument; begin App := TWordApplication.Create(nil); Doc := App.Documents.AddOld(EmptyVar, EmptyVar); //open new document <..somewhere else..> //modifying Word Doc.DoWhateverIWant; // <--see? no ActiveDocument, so you are not // modifying the users doc

本文共计355个文字,预计阅读时间需要2分钟。

如何将Delphi的TWordApplication与Word实现完美碰撞?

在Delphi中使用TWordApplication时,我的应用程序打开新的单词实例并在文档上创建内容。问题是,首次运行我的应用程序后,随后打开真正的单词exe(Word.exe)没有打开新的单词实例,而是链接到我的应用程序创建的实例。

我在Delphi中使用TWordApplication.我的应用程序打开新的单词实例并在其文档上创建一些内容.问题是我第一次运行我的应用程序,然后打开真正的单词exe. Word exe没有打开新的单词实例,但它链接到我的应用程序实例.因此,当我的应用程序写入其文档时,所有文本都显示在用户可见的exe文字上.

WordApp := TWordApplication.Create(nil); WordApp.ConnectKind := ckNewInstance; (WordApp.Documents.Add(EmptyParam,EmptyParam,EmptyParam, varFalse ));

然后用户手动打开Word.

如何将Delphi的TWordApplication与Word实现完美碰撞?

WordApp.Selection.Text := 'test test test';

用户在手动打开的Word中看到“测试测试”.

如果我首先手动打开Word并启动我的应用程序一切正常.

这是Word的默认行为,它使用正在运行的实例.您需要做的是存储对要修改的文档的引用.因此,请勿使用ActiveDocument,而是使用您存储的文档.因为无法保证ActiveDocument是您认为的文档.

//starting Word var App: TWordApplication; Doc: WordDocument; begin App := TWordApplication.Create(nil); Doc := App.Documents.AddOld(EmptyVar, EmptyVar); //open new document <..somewhere else..> //modifying Word Doc.DoWhateverIWant; // <--see? no ActiveDocument, so you are not // modifying the users doc