ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

对于VSTO中PPT中代码添加文本和图片

2022-03-06 14:34:13  阅读:212  来源: 互联网

标签:string filePath shape slide PPT 文本 PowerPoint VSTO textbox


   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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有