使用vba插入樣式分隔符號時刪除空格

使用vba插入樣式分隔符號時刪除空格

大家好,抱歉我的英文:我有一個添加樣式分隔符號的宏,它工作正常,只是它在段落前面添加了一個空格。我怎麼能修改宏,以便它不添加它,或者如果添加它,它稍後將其刪除?

Sub SeparadordeEstilos()
 With Selection
            .InsertBefore vbCr
            .InsertStyleSeparator
            .Paragraphs(1).Range.Font.Reset
            .Paragraphs(1).Style = ("PLL Nivel 2 notdc")
End With
End Sub

編輯:

也非常感謝你,查爾斯,我為沒有解釋所有細節向大家表示歉意。我需要在大綱多層次清單中具有相同編號的兩種類型的段落。有些採用粗體字體,出現在目錄中,而有些則採用普通字體,不出現在目錄中。所以,我創造了兩種風格,PLL 尼韋爾 2目錄中出現的粗體字和PLL Nivel 2 notdc,不加粗,不會出現在執行我在問題中描述的巨集時使用樣式分隔符號自動套用的目錄中。這是我發現的唯一解決方案,特別是因為連續編號的要求。

除了空白之外,一切正常。文件中的這種空白非常糟糕,它不會賦予它專業的感覺,相反,它會給它一種草率的外觀。

因此我需要一個替代方案或能夠刪除空白。

螢幕截圖

這裡有一個樣本文件與問題。我認為連續編號工作得很好,因為我看到它啟用了“顯示全部”,但如果我將其關閉(“顯示全部”),它也不起作用並設定不同的編號。

編輯2

顯示新圖片

答案1

您需要在兩個段落之間留出一些空間,例如空格字元!

當您的程式碼在段落末尾、段落標記之前運行時,會添加一個樣式分隔符以及一個新風格的空間。

當省略.insertBefore vbCr該行時,如建議的那樣雷迪,並且它在段落末尾運行,它添加樣式分隔符和空格,刪除當前段落標記並以新樣式顯示下一個段落,使其看起來像使用兩種段落樣式的單個段落。

套用該樣式可能需要空間。在第二種情況下,確實有必要將第一段的文本與第二段的文本分開。

您真的想消除該空間嗎?

這是修改後的巨集:

Sub InsertStyleSeparator()
' Use at end of paragraph just before paragraph mark.
    With Selection
        '            .InsertBefore vbCr
        .InsertStyleSeparator
        .Paragraphs(1).range.Font.Reset
        .Paragraphs(1).Style = ("PLL Nivel 2 notdc")
    End With
End Sub

請注意我添加的評論:在段落末尾使用此註釋,而不是在開頭。

這是你的樣本文件,用宏。

與樣式分隔符號一起使用時,新增至段落的部分沒有自己的編號。從視覺上看,它充當段落的一部分,並透過樣式分隔符號將其分隔開。

答案2

vbCr是一條新線。這行程式碼.InsertBefore vbCr在您的樣式之前插入一個新行。刪除它以避免段落前有空格。

相關內容