对于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
}

浙公网安备 33010602011771号