我正在嘗試爲Outlook編寫一個宏(從未寫入過宏或VBA),這將刪除我選擇的文本之前和之後的空格。在Outlook中刪除前後空格
這是我從例子拼湊起來的,我已經發現:
Sub FixParagraphSpacing()
Dim objOL As Application
Dim objDoc As Object
Dim objSel As Object
Set objOL = Application
Set objDoc = objOL.ActiveInspector.WordEditor
Set objSel = objDoc.Windows(1).Selection
objSel.ParagraphFormat.SpaceBefore = 0
objSel.ParagraphFormat.SpaceAfter = 0
Set objOL = Nothing
Set objDoc = Nothing
Set objSel = Nothing
End Sub
的問題是,代碼執行和幾乎沒有任何反應。電子郵件的正文不受影響,但我無法手動刪除手動之前和之後的空格,因爲Outlook認爲它已完成。
我在這裏錯過了什麼?
更新
這裏是基於@ KevinPope的回答我更新的代碼,:
Sub FixParagraphSpacing()
Dim objOL As Application
Dim sel As Object
Set objOL = Application
Set sel = objOL.ActiveInspector().WordEditor.Application.Selection
For Each para In sel.Paragraphs
para.SpaceBefore = 0
para.SpaceAfter = 0
Next para
End Sub
在我運行的代碼,這就是我在線條和段落間距看到:
這就是我在運行宏後看到的內容:
不幸的是,除此之外,沒有明顯的變化,在電子郵件正文中提出。
每請求文本的截圖:
這是間距在空間(或標籤)字符?或者如同文本行間的距離(行高)? – 2013-03-20 19:46:02
@KevinPope,行高。 – 2013-03-20 20:01:57
謝謝你補充一點,詹姆斯。要確認,文本之間沒有空行(即,只能輸入已輸入的行)。看起來就像雙倍間距,但是從線和段落間距選項卡顯示單個間距。你有任何其他加載項或宏會強制執行此行爲嗎? – 2013-03-25 20:02:02