对于VSTO中PPT中代码添加文本和图片
作者:互联网
private void AddTextBox(PowerPoint.Slide slide, string txtContent) { PowerPoint.Shape textbox; textbox = slide.Shapes.AddTextbox(Office.MsoTextOrientation.msoTextOrientationHorizontal, 50, 100, 600, 50);//向当前PPT添加文本框 textbox.TextFrame.TextRange.Text = txtContent;//设置文本框的内容 textbox.TextFrame.TextRange.Font.Size = 48;//设置文本字体大小 textbox.TextFrame.TextRange.Font.Color.RGB = Color.DarkViolet.ToArgb();//设置文本颜色 } private void AddPicture(PowerPoint.Slide slide, PowerPoint.Shape shape, string filePath) { PowerPoint.Shape pic; pic = slide.Shapes.AddPicture(filePath, Office.MsoTriState.msoFalse, Office.MsoTriState.msoTrue, shape.Left, shape.Top, shape.Width, shape.Height); pic.Name = "广告图片"; pic.Height = shape.Height; pic.Width = shape.Width; } private void AddTextMessage(PowerPoint.Slide slide, PowerPoint.Shape shape, string txtContent) { PowerPoint.Shape textbox; textbox = slide.Shapes.AddTextbox(Office.MsoTextOrientation.msoTextOrientationHorizontal, shape.Left, shape.Top, shape.Width, shape.Height);//向当前PPT添加文本框 textbox.Height = shape.Height; textbox.Width = shape.Width; textbox.TextFrame.TextRange.Text = txtContent; textbox.TextFrame.TextRange.Font.Color.RGB = Color.Orange.ToArgb(); }
/// <summary> /// 添加图片 /// </summary> /// <param name="slide"></param> /// <param name="filePath"></param> private void AddADPicture(PowerPoint.Slide slide, string filePath) { PowerPoint.Shape pic; pic = slide.Shapes.AddPicture(filePath, Office.MsoTriState.msoFalse, Office.MsoTriState.msoTrue, 100, 200, 100, 100); pic.Name = "GlodonAD"; } /// <summary> /// 添加多媒体文件 /// </summary> /// <param name="slide"></param> /// <param name="filePath"></param> private void AddMedia(PowerPoint.Slide slide, string filePath) { PowerPoint.Shape media; media = slide.Shapes.AddMediaObject(filePath, 10, 10, 200, 200); media.Name = "Media"; } //对于OLED对象标识:http://msdn.microsoft.com/zh-cn/library/office/ff746158.aspx /// <summary> /// 通过ClassName创建对象 /// </summary> /// <param name="slide"></param> /// <param name="className"></param> private void AddOLEDClass(PowerPoint.Slide slide, string className) { PowerPoint.Shape oledClass; oledClass = slide.Shapes.AddOLEObject(50, 50, 800, 500, ClassName: className, DisplayAsIcon: Office.MsoTriState.msoTrue); oledClass.Name = "OLEDClassName"; } /// <summary> /// 通过文件路径,添加文件 /// </summary> /// <param name="slide"></param> /// <param name="filePath"></param> private void AddOLEDPath(PowerPoint.Slide slide, string filePath) { PowerPoint.Shape oledFile; oledFile = slide.Shapes.AddOLEObject(50, 50, 800, 500, FileName: filePath, DisplayAsIcon: Office.MsoTriState.msoTrue);//, DisplayAsIcon: Office.MsoTriState.msoTrue oledFile.Name = "OLEDFilePath"; }
string filePath = "E:\\FF.doc"; filePath = "E:\\FF.ppt"; filePath = "E:\\FF.xls"; filePath = @"C:\Users\Administrator\Videos\PB043926.AVI"; filePath = @"C:\Users\Administrator\Videos\轻轻的问候.swf"; //AddMedia(slide, filePath); AddOLEDPath(slide, filePath); string className = "Excel.Sheet"; className = "Word.Document"; className = "PowerPoint.Slide"; // AddOLEDClass(slide, className);
好像对于鼠标类型和键盘类型的标识有误(键盘应该是2,鼠标应该是7;好像以前是13和14?)
public enum WH_Codes : int { //底层键盘钩子 WH_KEYBOARD_LL = 2,//13 //底层鼠标钩子 WH_MOUSE_LL = 7, //14 //nCode为0 HC_ACTION=0 }
标签:string,filePath,shape,slide,PPT,文本,PowerPoint,VSTO,textbox 来源: https://www.cnblogs.com/guangzhiruijie/p/15972058.html