使用 VBA 在 Word 中创建另一个范围对象的副本

Jan*_*mel 2 alias vba copy ms-word range

在Word中,我尝试了以下方法:

Dim Range1 As Range, Range2 As Range
Set Range1 = Selection.Range 'just an example, could be any range
Set Range2 = Range1 'seems to create an alias, not an independent copy
Range2.Collapse 'Not only collapses Range2, but also Range1
Range1.Select 'I had rather keep te original Range1 unaffected
Run Code Online (Sandbox Code Playgroud)

如何创建 Range1 的独立副本?

Tim*_*att 5

如果要创建两个指向文档中同一位置但可以彼此独立操作的 Range 对象,请使用

Set Range2 = Range1.Duplicate
Run Code Online (Sandbox Code Playgroud)

请参阅https://learn.microsoft.com/en-us/office/vba/api/word.range.duplicate