首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以确定Office文档是否已由外部自动化代码打开?

是否可以确定Office文档是否已由外部自动化代码打开?
EN

Stack Overflow用户
提问于 2011-05-20 14:31:19
回答 2查看 474关注 0票数 1

我在Office VSTO插件中有一些代码(在VB.NET中为Word、Excel2003和2007实现),这会导致一些外部自动化代码出现问题。

有没有办法确定Office文档是由自动化代码打开的,还是由用户打开的?Application或Document对象之间的一些差异,或者我可以处理的事件只在一种或另一种情况下触发?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-23 09:04:52

因此,当通过Office对象模型打开Office应用程序时,命令行使用/automation开关(例如,Winword.exe /automation)。

所以我只是在我的插件启动时检查一下,并设置一个全局布尔值:

代码语言:javascript
复制
If (Environment.CommandLine.IndexOf("/automation", StringComparison.OrdinalIgnoreCase) >= 0) Then mbOpenedByAutomation = True

我已经做了一些测试,以确保没有任何其他情况下可能使用该开关,但我认为这将达到目的。

票数 0
EN

Stack Overflow用户

发布于 2011-05-21 03:52:55

一般来说,自动化将打开不可见的文档,因此您应该能够在documentOpen事件期间测试文档的可见性。它可能不是完美的,但据我所知,用户没有办法以不可见的方式手动打开文档,所以它应该可以工作。

OTOH,一些自动化故意以可见的方式打开文档(以便用户可以编辑它们),因此这可能不是100%的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6068256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档