【问题标题】:Copy and paste protection when running macro运行宏时的复制和粘贴保护
【发布时间】:2021-02-12 04:19:50
【问题描述】:

我在 Word 的 VBA 中编写了一个宏,该宏应该运行 10-20 分钟,并且该宏使用从一个文档到另一个文档的复制和粘贴操作。

我担心用户在运行我的宏时会复制并粘贴到计算机上的其他软件中,因此宏会崩溃,做一些意想不到的不正确的事情。

我想警告宏用户注意不要复制。

但我的问题是我可以阻止用户复制,并且只有我的宏可以运行并从 Word 文档复制并粘贴到另一个 Word 文档中没有问题?

我一直在寻找不在复制和粘贴中使用宏的方法,但我没有找到,这是我知道的唯一方法来做宏应该做的事情。

需要注意的是,我也可以通过 VSTO 插件在 C# 中运行宏。

【问题讨论】:

标签: vba automation ms-word clipboard copy-paste


【解决方案1】:

如果您只想在文档之间传输文本而不进行格式化,最有效的方法是使用targetRange.Text = sourceRange.Text

如果您想传输文本和格式,请使用targetRange.FormattedText = sourceRange.FormattedText

【讨论】:

  • 非常感谢,你帮了我很多,不仅解决了我的问题,而且我的宏现在运行速度快了好几倍!
【解决方案2】:

您能否将值写入宏中的变量,然后将这些值写入新文档而不是使用复制/粘贴?我认为这比使用复制/粘贴更安全。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    相关资源
    最近更新 更多