如何向 PowerPoint 文本框添加新的 TextRange.Run?

how to add new TextRange.Run to PowerPoint textbox?

我想复制一些文本及其格式。如果整个文本以一种方式格式化,那么这很容易做到,但我无法复制以不同方式格式化的文本(例如,文本的某些部分是粗体,有些不是)。

有类似 运行 的东西,我知道如何阅读它(以及如何使用 open xml 添加它,但加载项必须在打开的演示文稿上工作),但是如何将 it/insert 添加到某些文本框中?我找不到像 Shape.TextFrame2.TextRange.Runs.Add() 或 Shape.TextFrame2.TextRange.Runs(1).Insert()

这样的方法

好的,我找到了操作方法:

for (int k = 0; k < sourceShapeProps.textFrame.TextRange.Runs.Count; k++)
   {
    var run = sourceShapeProps.textFrame.TextRange.get_Runs(k + 1, 1);
    var characters = cell.Shape.TextFrame2.TextRange.get_Characters(run.Start, run.Length);
    characters.Font.Fill.ForeColor.RGB = run.Font.Fill.ForeColor.RGB;
    characters.Font.Bold = run.Font.Bold;
    characters.Font.Italic = run.Font.Italic;
   }

如何赋值,

Shape1.TextFrame.TextRange.Runs(1).Font.Bold = MsoTriState.msoTrue;

但是上面的代码并没有使 运行 中的第一个文本块为真,没有应用粗体。