删除Outlook中之前和之后的空格

时间:2013-03-20 11:32:11

标签: vba outlook-2010 outlook-vba

我正在尝试为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

在运行代码之前,这是我在Line和Paragraph Spacing下看到的内容:

Remove Spacing

这是我在运行宏之后看到的:

Add Spacing

不幸的是,除此之外,电子邮件正文中没有明显的变化。


每个请求的文本截图:

enter image description here

3 个答案:

答案 0 :(得分:2)

我也遇到了同样的问题。 运行宏时,它似乎确实更新了值(空格前/后为0),但不会将设置应用于所选文本。

然后添加SpaceBeforeAuto = False工作......

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.SpaceBeforeAuto = False
    objSel.ParagraphFormat.SpaceAfter = 0
    objSel.ParagraphFormat.SpaceAfterAuto = False

    Set objOL = Nothing
    Set objDoc = Nothing
    Set objSel = Nothing
End Sub    

答案 1 :(得分:1)

这样的东西应该在选定的段落之前和之后挑选行间距:

Sub Test()
    Dim objOL As Application
    Dim sel As Object

    Set objOL = Application
    Set sel = objOL.ActiveInspector().WordEditor.Application.Selection

    sel.Paragraphs(1).SpaceBefore = 0
    sel.Paragraphs(1).SpaceAfter = 0
End Sub

如果这不起作用,请告诉我们,我们可以对其进行迭代。

答案 2 :(得分:1)

尝试使用" Selection.WholeStory"在设置段落格式之前。它对我有用。