运行宏时复制粘贴保护

Copy and paste protection when running macro

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

我担心用户在我的宏 运行ning 期间复制并粘贴到计算机上的其他软件,因此宏会崩溃,执行意外和错误的操作。

告诫宏用户注意不要复制

但我的问题是我能否阻止用户复制,只有我的宏才能运行从 Word 文档复制并粘贴到另一个 Word 文档而不会出现问题?

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

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

您能否将值写入宏中的变量,然后将这些值写入新文档而不是使用 copy/paste?我认为这比使用 copy/paste.

更安全

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

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