我想复制一些带有格式的文字。如果整个文本以一种方式格式化,那么它很容易做到,但我无法管理复制以不同方式格式化的文本(例如,文本的某些部分是粗体而不是)。
有类似Run的东西,我知道如何阅读它(以及如何使用open xml添加它,但是加载项必须在打开的演示文稿上工作),但是如何将它添加/插入到某些文本框中?我找不到像Shape.TextFrame2.TextRange.Runs.Add()或Shape.TextFrame2.TextRange.Runs(1).Insert()
这样的方法。答案 0 :(得分:2)
好的,我已经找到了怎么做:
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;
}
答案 1 :(得分:0)
如何为它赋值,
Shape1.TextFrame.TextRange.Runs(1).Font.Bold = MsoTriState.msoTrue;
但是上面的代码并没有使文本的第一个块变为true,没有应用粗体。