在单词中我正在寻找一个键盘快捷键,它允许我移动我的光标当前为一段/一行或一行的段落。
我是VBA等新手,但发现了这个
Sub OutlineMoveUp()
Selection.Range.Relocate wdRelocateUp
End Sub
这非常接近我正在寻找的东西,但似乎根据它在大纲结构中的位置(可能变得相当混乱)推动该段落。我只想将其向上或向下移动一段/行(也与其格式无关)。
(RStudio提供了这个很棒的功能,您只需移动选定的文本行而无需复制粘贴;我正在寻找等效的单词)。
很多人。答案 0 :(得分:0)
Relocate
方法旨在以大纲模式see here工作。请改用Move
方法:
Selection.Range.Move Unit:=wdParagraph, Count:=-1
您可能需要调整计数以获得您想要的效果 - 如果-1不起作用,请尝试-2等。
答案 1 :(得分:0)
使用剪切/粘贴可能会更干净但是请尝试:
Sub Test_NewP()
Dim doc As Word.Document
Dim CurR As Word.Range
Dim NewP As Word.Paragraph
Dim IndexP As Long
Set doc = ActiveDocument
If doc.ActiveWindow.View = wdOutlineView Then
MsgBox "This program doesn't work in outline view --- please switch to another view", vbOKOnly, "Error"
Exit Sub
End If
Set CurR = Selection.Paragraphs(1).Range
IndexP = doc.Range(0, CurR.End).Paragraphs.Count
Set NewP = doc.Paragraphs.Add(doc.Paragraphs(IndexP - 1).Range)
NewP.Range.Text = CurR.Text
CurR.Delete
Set NewP = Nothing
Set CurR = Nothing
Set doc = Nothing
End Sub
这可能无法可靠地管理格式,但您可以添加代码来修复它。
希望有所帮助。