選択したテキストの前後のスペースを削除する Outlook 用のマクロを作成しようとしています (マクロや VBA を作成したことはありません)。
これは、私が見つけた例からまとめたものです。
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
コードを実行する前に、[行と段落の間隔] の下に次のように表示されます。
マクロを実行すると、次のように表示されます。
残念ながら、これ以外にメールの本文に目に見える変更はありません。
リクエストごとのテキストのスクリーンショット: