Учитывая диапазон с изменениями в нем, мне нужно восстановить исходный текст и измененный текст. Первое решение было:
Sub OriginalText (ByVal Rng as Range)
Rng.Revisions.RejectAll
OriginalText = Rng.Text
End sub
Но оказалось, что ByVal на самом деле не ByVal. в тот момент, когда вызывается RejectAll, все изменения также отклоняются в исходном документе, и их невозможно применить - они исчезли из ThisDocument.Revisions.
Есть ли (желательно удобный) способ скопировать переменную Rng в любой (скажем, Rng2) в подпрограмме, чтобы я мог работать с копией диапазона, не затрагивая источник?
Есть ли способ сериализовать диапазон и собрать его вместе, может быть?
Upd: Позвольте мне сказать это так. Есть ли шанс скопировать объект (Range в моем случае), чтобы изменения, внесенные в копию, не влияли на источник? Я думаю, что это по-прежнему самое быстрое и элегантное решение.