Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在PowerPoint 2007中创建嵌套项目符号列表_C#_Vba_Powerpoint - Fatal编程技术网

C# 在PowerPoint 2007中创建嵌套项目符号列表

C# 在PowerPoint 2007中创建嵌套项目符号列表,c#,vba,powerpoint,C#,Vba,Powerpoint,我们正在尝试创建PowerPoint幻灯片程序。我们可以在单个级别上获得项目符号,但是使用制表符和行返回对嵌套枚举不起作用 目前我们得到: 文本1 潜台词1 潜台词2 文本2 我们想要的是: 文本1 潜台词1 潜台词2 文本2 是否有办法使用C#或VBA控制这些内容?首先,获取文本范围2的段落的参考,因为每个项目符号都是一个段落(实际上是文本范围2) 最后四行调用一个函数,该函数封装了设置缩进“级别”的逻辑,该逻辑会影响项目符号和文本的样式以及项目符号和文本的实际缩进: Privat

我们正在尝试创建PowerPoint幻灯片程序。我们可以在单个级别上获得项目符号,但是使用制表符和行返回对嵌套枚举不起作用

目前我们得到:

  • 文本1
  • 潜台词1
  • 潜台词2
  • 文本2
我们想要的是:

  • 文本1
    • 潜台词1
    • 潜台词2
  • 文本2

是否有办法使用C#或VBA控制这些内容?

首先,获取
文本范围2
段落的参考,因为每个项目符号都是一个段落(实际上是
文本范围2

最后四行调用一个函数,该函数封装了设置缩进“级别”的逻辑,该逻辑会影响项目符号和文本的样式以及项目符号和文本的实际缩进:

Private Function SetIndent(ByVal level As Integer, ByRef p As TextRange2)

p.ParagraphFormat.IndentLevel = level
p.ParagraphFormat.FirstLineIndent = 40
p.ParagraphFormat.LeftIndent = level * 40

End Function
您当然可以重构它以满足您的需要——比如通过缩进系数(我硬编码为40,但您的里程数可能会有所不同)

Private Function SetIndent(ByVal level As Integer, ByRef p As TextRange2)

p.ParagraphFormat.IndentLevel = level
p.ParagraphFormat.FirstLineIndent = 40
p.ParagraphFormat.LeftIndent = level * 40

End Function