2013-02-12 38 views
0

我試圖設置一個文檔發佈到網站,因此需要在列表項前後添加一些HTML標籤。但是,它並沒有選擇清單項目。任何人都可以幫忙嗎?謝謝。通過VBA查找所有列表項目

sub format_list() 

      Dim para as Paragraph 
      Dim is_list_item as Boolean 

      is_list_item = False 

      For Each para In ActiveDocument.Paragraphs 

        If para.Range.ListFormat.ListType = WdListType.wdListBullet Then 

          is_list_item = True 
          para.Range.InsertBefore "<li>" 
          para.Range.InsertAfter "</li>" 

        End If 

      Next 

    End Sub 
+0

我注意到,'is_list_item'變量沒有在代碼中發揮任何作用,因此是多餘的,正確的呢?或者,我錯過了什麼? – nam 2016-04-04 15:28:48

回答

1

嘗試使用以下,而不是para.Range.InsertAfter "</li>"

para.Range.Select 
Selection.EndKey Unit:=wdLine 
Selection.TypeText Text:="</li>" 
+0

謝謝@Zaider,但問題在於它沒有提及該段落是一個列表項('para.Range.ListFormat.ListType = WdListType.wdListBullet'),所以它甚至沒有達到你提到的位。 – 2013-02-13 09:20:20

+0

你是如何創建你的列表的?我通過點擊Home選項卡的段落部分中的Bullet選項創建了一些選項,並且您的代碼可以很好地選擇它們。嘗試在For Each行下添加'Debug.Print para.Range.Text',並在列表值檢查'If para.Range.ListFormat.ListType'的值是什麼時。 – Zaider 2013-02-13 13:04:09

+0

原來我的代碼在它到達這一步之前將樣式更改爲「Normal」,所以這就是爲什麼它不起作用。一旦我明白了,我做了一個改變,它確實起作用了!謝謝。 – 2013-02-13 15:13:13

相關問題