Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 修改列表上的文本的函数将最后一个元素从列表中推出_List_Vba_Ms Word_Word 2010 - Fatal编程技术网

List 修改列表上的文本的函数将最后一个元素从列表中推出

List 修改列表上的文本的函数将最后一个元素从列表中推出,list,vba,ms-word,word-2010,List,Vba,Ms Word,Word 2010,我有这样一个过程来向列表中的红色元素添加“”,但它会推送列表中最后一个元素 Sub Rojo() Dim lista As Integer Dim para As Paragraph For Each para In ActiveDocument.ListParagraphs If para.Range.Font.ColorIndex = wdRed Then para.Range.Text = "<OK> " + p

我有这样一个过程来向列表中的红色元素添加“
”,但它会推送列表中最后一个元素

Sub Rojo()
    Dim lista As Integer
    Dim para As Paragraph

    For Each para In ActiveDocument.ListParagraphs
        If para.Range.Font.ColorIndex = wdRed Then
            para.Range.Text = "<OK> " + para.Range.Text
        End If
    Next para
Sub-Rojo()
将列表设置为整数
将段落改为段落
对于ActiveDocument.ListPages中的每个段落
如果para.Range.Font.ColorIndex=wdRed,则
para.Range.Text=”“+para.Range.Text
如果结束
下一段
如果我有清单:

  • 黑文
  • 黑文
  • 红色文本
  • 红色文本
它变成:

  • 黑文
  • 黑文
  • 红色文本

红色文本添加此元素,元素再次列出,但在新列表中。现在我需要把它放在前面的列表中。(Hecho是一个全局布尔值)

Sub-Rojo()
将p标注为段落
Dim iTotalParas为整数,iParAccounter为整数
科米恩佐:
如果hecho=False,则
iTotalParas=ActiveDocument.parations.Count
对于iParAccounter=1到iTotalParas
'对于ActiveDocument.段落中的每个p
设置p=ActiveDocument.段落(iParAccounter)
如果p.Range.Font.ColorIndex=wdRed,则
“我是科塞卡
p、 Range.Text=”“+p.Range.Text
如果ActiveDocument.Pages(iParAccounter).Range.ListFormat.ListType=0,则
ActiveDocument.段落(iParCounter).Range.ListFormat.ApplyOutlineNumberDefault
如果结束
如果结束
“下一个p
下一个iParAccounter
hecho=True
“是的,我们的血液和肠胃,我们的血液和肠胃是重复的。”
其他的
如果MsgBox(“你有一个宏博尼亚托!”&Chr(13)和“?”Quieres ejectarla de nuevo?”,vbYesNo,“用户输入”)=vbYes,那么
hecho=假
后藤科米恩佐
其他的
hecho=True
如果结束
如果结束
端接头
编辑::========
好吧,我做的越多,学到的越多。我不得不将p.Range.Text=“+p.Range.Text”更改为p.Range.InsertBefore(“确定”)

我仍在等待有人帮助我,请XDDD
       Sub Rojo()

Dim p As Paragraph

Dim iTotalParas As Integer, iParaCounter As Integer
Comienzo:
If hecho = False Then
    iTotalParas = ActiveDocument.Paragraphs.Count
    For iParaCounter = 1 To iTotalParas
'    For Each p In ActiveDocument.Paragraphs

            Set p = ActiveDocument.Paragraphs(iParaCounter)
            If p.Range.Font.ColorIndex = wdRed Then
                        'Mi cosecha
                        p.Range.Text = "<OK>" + p.Range.Text
                        If ActiveDocument.Paragraphs(iParaCounter).Range.ListFormat.ListType = 0 Then
                            ActiveDocument.Paragraphs(iParaCounter).Range.ListFormat.ApplyOutlineNumberDefault

                        End If

            End If

'    Next p
    Next iParaCounter
    hecho = True
   'Si ya la hemos ejecutado y volvemos a usarla, avisa antes y controlamos la repetición
    Else
        If MsgBox("Ya has ejecutado esta macro boniato!" & Chr(13) & "¿Quieres ejecutarla de nuevo?", vbYesNo, "User Input") = vbYes Then
            hecho = False
            GoTo Comienzo
        Else
            hecho = True
        End If
    End If

End Sub