我想通过C#中的自动化在Powerpoint中编写文本。

我为此使用Microsoft.Office.Interop.PowerPoint。

我的示例代码:

objSlide = objSlides.Add(1, PowerPoint.PpSlideLayout.ppLayoutCustom);
objTextRng = objSlide.Shapes[1].TextFrame.TextRange;
objTextRng.Text = "first text";
objTextRng.Font.Name = "Calibri";
objTextRng.Font.Size = 20;

objTextRng = objSlide.Shapes[1].TextFrame.TextRange;
objTextRng.Text = "second text";
objTextRng.Font.Name = "Calibri";
objTextRng.Font.Size = 20;


当我尝试运行此代码时,它将仅显示第二文本范围(即“第二文本”)的输出。

如果要在同一张幻灯片中同时显示两个文本,该怎么办。

我也尝试使用不同的textrangetextframe,但是我无法做到这一点。

最佳答案

您遇到了问题,因为您在两个代码块中访问的形状相同:

objSlide.Shapes[1].TextFrame.TextRange;


根据幻灯片中有多少个形状,您可能希望第一个块引用索引0,第二个块引用索引2。无论哪种方式,两个块都应引用不同的形状。

关于c# - 在Powerpoint C#中编写文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12609973/

10-12 22:13