使用.NET开发VSTO工具快速将PPT导出为图片
本文主要介绍如何使用.NET开发 PowerPoint VSTO 外接程序,并实现快速的将当前页PPT导出为图片的功能。可以帮助你了解如何使用 VSTO 开发 Office 外接程序,以及如何操作 PowerPoint 的对象模型。
本文主要介绍如何使用.NET开发 PowerPoint VSTO 外接程序,并实现快速的将当前页PPT导出为图片的功能。可以帮助你了解如何使用 VSTO 开发 Office 外接程序,以及如何操作 PowerPoint 的对象模型。
1. 背景
在日常的文章写作中,我经常使用 PPT 来制作一些文章的封面配图,然后导出为 PNG 图片使用。
如果手动操作,则需要选择“文件”,然后选择“导出” ,转到 “更改文件类型”,选择图片文件类型,最后点击“另存为”。操作到这里,还没有结束,还需要选择导出的路径,接下来还会弹出询问是保存所有幻灯片还是仅当前的。这样的操作过程无比繁琐,还非常耗时。
因此,使用 .NET 开发一个 VSTO 工具,实现快速的将当前页 PPT 导出为图片的功能,可以大大提高效率,也愉悦我的写作心情。
2. 开发环境
- Visual Studio 2022
- .NET Framework 4.8
- Microsoft Office 2013 及以上版本
这里的开发环境是基于 Visual Studio 2022,如果你的开发环境不同,可能会有一些差异,但是基本的思路是一样的,需要注意的是,要在工作负载中勾选“Office/SharePoint 开发”工作负载。
3. 创建 VSTO 项目
首选我们需要在 Visual Studio 中创建一个 VSTO 项目,选择“新建项目”,然后选择“PowerPoint VSTO 外接程序”,如下图所示:
然后点击“下一步”,输入项目名称,点击“创建”按钮,即可创建一个 VSTO 项目。
3.1 添加按钮
在创建的 VSTO 项目中,我们需要添加一个按钮,用于触发导出图片的操作。在“解决方案资源管理器”中,右键添加一个新项,选择“功能区 (可视化设计器)”项,如下图所示:
添加完成后,双击添加的项目,在设计器中,我们可以添加按钮,用于触发导出图片的操作。在设计器中,找到“工具箱”选项卡,然后找到“按钮”控件,拖动到功能区中,如下图所示:
需要注意的是,为了让这个新添加的功能区显示在开始的选项卡中,我们需要修改 RibbonTab
的属性,将 ControlId 设置为“TabHome”。
关于按钮的属性设置,我们可以设置按钮的标签、图标等,这里我设置了按钮的标签为“导出”。对于图标,我们可以使用内置的图标,也可以使用自定义的图标。这里我使用了内置的图标 ImageMSO
。只需要将 OfficeImageId
属性设置为自己想要的图标 ID 即可。
对于 ImageMSO
图标 ID,可以在 Office 图标库 中查找。
3.2 添加事件
在添加按钮后,我们需要为按钮添加事件,用于触发导出图片的操作。在设计器中,双击按钮,即可为按钮添加点击事件。在事件中,我们可以编写导出图片的逻辑。
文件保存可以使用 SaveFileDialog
控件,一样使用拖动的方式添加到设计器中。然后在代码中,我们可以使用 SaveFileDialog
控件来选择保存路径。
private void exportBtn_Click(object sender, RibbonControlEventArgs e)
{
var pptApplication = new Microsoft.Office.Interop.PowerPoint.Application();
var activeWindow = pptApplication.ActiveWindow;
var slide = activeWindow.View.Slide;
saveFileDialog.ShowDialog();
if (saveFileDialog.FileName != "")
{
slide.Export(saveFileDialog.FileName, "PNG");
}
}
3.3 调试和运行
在编写完成后,我们可以点击“启动”按钮,即可运行 VSTO 项目。运行后,我们可以在 PowerPoint 中看到添加的功能区。
点击按钮,即可触发导出图片的操作。
4. 最后
通过这篇文章,我们学习了如何使用 .NET 开发 PowerPoint VSTO 外接程序,并实现快速的将当前页 PPT 导出为图片的功能。本项目的相关代码已经上传到 GitHub,欢迎大家下载学习:https://github.com/sangyuxiaowu/SlideSnapshot?WT.mc_id=DT-MVP-5005195。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)