gpt4 book ai didi

c# - Microsoft.Office.Interop.Word "Cannot activate application"

转载 作者:行者123 更新时间:2023-11-30 15:08:33 25 4
gpt4 key购买 nike

我们在尝试通过办公室互操作从我们的应用程序启动 Word 时遇到了一些用户遇到的问题:

using Word = Microsoft.Office.Interop.Word;

public void ShowWord()
{
_word = new Word.ApplicationClass();
_word.Visible = true;
_word.Activate();
}

如果 word 并不总是打开,则会抛出 COM 异常,指出“无法激活应用程序”。在调用 _word.Activate() 之前添加一个 Thread.Sleep(1000) 可以防止这种情况发生,但显然并不理想。

public void ShowWord()
{
_word = new Word.ApplicationClass();
_word.Visible = true;
Thread.Sleep(1000)
_word.Activate();
}

有没有人以前见过这个并且知道是什么导致了这个以及解决这个问题的正确方法是什么?

最佳答案

我们遇到了类似的问题,Word 似乎正在异步等待操作系统显示其窗口。我们解决这个问题的方法是等到 Visible 属性返回 true:

public void ShowWord()
{
_word = new Word.Application();
_word.Visible = true;

System.Diagnostics.Stopwatch sw = System.Diagnostics.Stopwatch.StartNew();
while (!_word.Visible && sw.ElapsedMilliseconds < 10000)
{ /* Just Wait!! (at most 10s) */}
_word.Activate();
}

希望这对某人有帮助。

关于c# - Microsoft.Office.Interop.Word "Cannot activate application",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com