VBA:为Range变量赋值会在文档中插入文本

时间:2014-12-30 17:57:30

标签: vba range word-vba

这行代码......

    MyRange = MyRange.Paragraphs(1).Range 'Intended to select the paragraph
         ' that contained the previous range

...在前一个范围所在的位置输入文字。我通过在VBE中按F8逐步执行来计算出来。它具体地粘贴了该行中定义的范围应该包含的段落。这让我很生气,因为该线只是为MyRange分配一个新的范围值...

为什么这样做?

例如,选择了文本:

“作者:CMV主题:突出显示日期:2014年12月2日,下午2:23:41 [作为VB / VBA开发人员]粘合各种“

结果

“作者:CMV主题:亮点日期:2014年12月2日,2:23:41 /作者:CMV主题:亮点日期:2014年12月2日,下午2:23:41

[作为VB / VBA开发者]粘合各种“

粘贴的文本对应于此代码行中引用的段落(此处不能看到段落标记)。它粘贴在代码先前搜索的字符串上。我正在插入整个代码以防万一:

Set MyRange = Selection.Range
    With MyRange.Find 'Busca _AM o _PM
        .ClearFormatting
        .Replacement.ClearFormatting
        .MatchWildcards = True
        .Text = " [AP]M"
    .Execute
End With
MyRange = MyRange.Paragraphs(1).Range

这些上一行的问题发布在这里(如果重要的话):VBA: Why is Range.Find.Execute deselecting text in a Word doc?(因为它们存在其他问题,但似乎与我无关)...

谁能弄明白这里发生了什么?请?

0 个答案:

没有答案