【问题标题】:Lock Word document after macro executed using PIA使用 PIA 执行宏后锁定 Word 文档
【发布时间】:2017-09-05 09:17:23
【问题描述】:

我正在使用 Office PIA 将应用程序集成到 Word 中。

有多个 word 文档在您打开它们时会运行宏。我的目标是锁定当前文档,但宏运行之后。有没有办法做到这一点?认为这样的事情应该可以工作,但是没有像“MacroExecuted”这样的事件或其他事情:

public void OpenDocument(string path)
{
    var app = new Application();
    app.Documents.Open(path);
    app.ActiveDocument.MacroExecuted += LockDocumentEvent;
    app.Visible = true;
}

【问题讨论】:

  • 我刚刚检查了 vba-internal,看起来 app.Documents.Open(path); 只会在相关代码执行后返回。当Open 返回时,您是否真的遇到了仍在运行宏的问题?

标签: c# ms-word pia


【解决方案1】:

找到它,经过长时间的搜索:

重要的方法包含在文档对象中。

app.ActiveDocument.RunAutoMacro(WdAutoMacros.wdAutoOpen);

WdAutoMacros 枚举包含不同的值,指示应该执行哪个宏。对我来说是

WdAutoMacros.wdAutoNew

WdAutoMacros.wdAutoOpen

现在宏在从 Office SDK 打开文档后执行。

【讨论】:

    猜你喜欢
    • 2019-02-16
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2016-04-28
    • 1970-01-01
    • 2019-11-02
    相关资源
    最近更新 更多