这行代码......
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?(因为它们存在其他问题,但似乎与我无关)...
谁能弄明白这里发生了什么?请?