WordApp := TWordApplication.Create(nil);WordApp.ConnectKind := ckNewInstance;(WordApp.documents.Add(EmptyParam,EmptyParam,varFalse ));
然后用户手动打开Word.
WordApp.Selection.Text := 'test test test';
用户在手动打开的Word中看到“测试测试”.
如果我首先手动打开Word并启动我的应用程序一切正常.
解决方法 这是Word的默认行为,它使用正在运行的实例.您需要做的是存储对要修改的文档的引用.因此,请勿使用Activedocument,而是使用您存储的文档.因为无法保证Activedocument是您认为的文档.//starting Wordvar 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总结
以上是内存溢出为你收集整理的delphi – TWordApplication和Word碰撞全部内容,希望文章能够帮你解决delphi – TWordApplication和Word碰撞所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)