如何正确格式化项目符号和缩进 - Powerpoint VBA

Posted

技术标签:

【中文标题】如何正确格式化项目符号和缩进 - Powerpoint VBA【英文标题】:How to format bullets and indents using PowerPoint VBA? 【发布时间】:2022-01-18 02:53:18 【问题描述】:

我正在尝试使用三种项目符号缩进样式自动格式化一系列表格。

1 - 没有缩进,没有项目符号 2 - 没有缩进,项目符号 3 - 缩进,破折号

当我手动设置它时:

段落对话框中的手动输入(以 cms 为单位) 1 - 0 文字前,0 悬挂 2 - 文字前 0,5,悬挂 0,5 3 - 1,0 文字前,0,5 悬挂

我修改了以下代码,但它没有给我想要的结果。

Sub TableBullets2()
Dim I As Integer

With Application.ActiveWindow.Selection

If .Type = ppSelectionText Then
I = 1
For I = 1 To .TextRange2.Paragraphs.Count
With .TextRange2.Paragraphs(I)
Select Case .ParagraphFormat.IndentLevel
    Case Is = 1
        .ParagraphFormat.Alignment = ppAlignLeft
        .ParagraphFormat.FirstLineIndent = 0
        .ParagraphFormat.LeftIndent = 0
        With .ParagraphFormat.Bullet
        .Visible = False
        With .Font
        .Name = "Arial"
        .Fill.ForeColor.RGB = RGB(0, 0, 0)
        End With
        .Character = 8226
        End With
    Case Is = 2
        .ParagraphFormat.Alignment = ppAlignLeft
        .ParagraphFormat.FirstLineIndent = cm2Points(-0.5)
        .ParagraphFormat.LeftIndent = cm2Points(0.5)
        With .ParagraphFormat.Bullet
        .Visible = msoTrue
        With .Font
        .Name = "Arial"
        .Fill.ForeColor.RGB = RGB(0, 0, 0)
        End With
        .Character = 8226
        End With
    Case Is = 3
        .ParagraphFormat.Alignment = ppAlignLeft
        .ParagraphFormat.FirstLineIndent = cm2Points(-0.5)
        .ParagraphFormat.LeftIndent = cm2Points(1.0)
        With .ParagraphFormat.Bullet
        .Visible = msoTrue
        With .Font
        .Name = "Arial"
        .Fill.ForeColor.RGB = RGB(0, 0, 0)
        End With
        .Character = 8211
        .RelativeSize = 0.9
        End With
End Select
End With
Next I
End If
End With
End Sub

你能帮我弄清楚吗?

提前谢谢你。

【问题讨论】:

【参考方案1】:

VBA 不是这个问题的最佳解决方案。相反,破解 slideMaster1.xmlotherStyle 部分,在那里创建您的文本级别。这是我关于如何做到这一点的文章:OOXML Hacking: Default Table Text

所有 PowerPoint 文本样式部分都具有相同的语法,因此如果您使用该界面在幻灯片母版或幻灯片版式上设置项目符号样式,则只需将 XML 复制并粘贴到 otherStyle 部分。无需编程,每个新表格都将自动具有相同的样式,而无需运行宏。

【讨论】:

以上是关于如何正确格式化项目符号和缩进 - Powerpoint VBA的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Sublime Text 3 中正确格式化/缩进 HTML 和 PHP 代码

如何正确缩进 PHP/HTML 混合代码? [关闭]

Word文档项目编号后边的一段空白怎么调整?

iOS7 TextKit:项目符号对齐

C# 正确格式化(缩进、对齐)C#

项目符号列表项是不是总是精确缩进 1.8em?