【发布时间】:2018-06-04 22:54:50
【问题描述】:
我正在尝试实现一些非常简单的事情。要选择项目符号列表中的项目,请运行宏并让这些项目随机打乱。我从未在 MS-Word 中使用过 VBA,所以我从非常小的步骤开始,但即使是那些似乎也很难遵循。我的策略是一次插入一个项目。每个新添加的段落的文本将是从选择中随机选择的项目的文本。当添加的段落数等于选择的项目数时,我开始删除选择中的原始项目。
这是我的初稿。它不能完美地复制我的策略,但我需要有关基础知识的答案才能继续。
Sub test()
Dim pars As Paragraphs
Dim rng As Range
' The selection is items from a bullet list (4 items).
Set pars = Selection.Paragraphs
' I have to do that if I don't want to overwrite the last element, though it is never filled later.. why?
pars.Add
' Simulate some shuffling here..
pars.Add.Range.FormattedText = pars(2).Range.FormattedText
pars.Add.Range.FormattedText = pars(1).Range.FormattedText
pars.Add.Range.FormattedText = pars(3).Range.FormattedText
pars.Add.Range.FormattedText = pars(4).Range.FormattedText
' The total number of paragraphs should be 8..
MsgBox pars.Count
' Now remove the top 4 paragraphs to keep just the last ones I added..
For i = 1 To 4
pars(1).Range.Delete
Next i
' I should get a message with 4 in it, instead I'm getting 1.. why??
MsgBox pars.Count
End Sub
我的问题是:添加段落的流程是什么?如何删除段落?
【问题讨论】: