沐阳先生 2024-01-09 16:38 采纳率: 0%
浏览 18
已结题

【有酬金】关于使用 VSTO C# .Net4.7.2 开发 PowerPoint 在线网页浏览插件的问题

关于使用 VSTO C# .Net4.7.2 开发 PowerPoint 在线网页浏览插件的问题
机器人回答勿扰
如果被采纳会根据回答打赏

1.如何在 PPT 内插入一个 WebView2 网页(请给出介绍和代码示例)?(实现类似 PowerPoint 的 WebView 插件的效果)

注:本人要开发相关插件,直接使用 PowerPoint 的 WebView插件 或其他相关插件并不适用。

  • 写回答

11条回答 默认 最新

  • 叫兽-郭老师 Java领域新星创作者 2024-01-09 19:00
    关注

    参考钉钉个人版人工智能:

    1. 在 PowerPoint 中插入一个 WebView2 网页,可以通过以下步骤实现:
    • 首先,在 PowerPoint 中插入一个新的幻灯片。
    • 然后,在幻灯片上添加一个按钮(例如,使用“插入”菜单中的“形状”选项)。
    • 双击按钮以打开“分配宏”对话框。
    • 在“分配宏”对话框中,选择“Microsoft Forms 2010 ActiveX Control (x64)”作为控件类型。
    • 单击“确定”以将 WebView2 控件添加到幻灯片上。
    • 最后,设置 WebView2 控件的 URL 属性以加载所需的网页。

    以下是一个简单的代码示例:

    using System;
    using System.Windows.Forms;
    using Microsoft.Office.Core;
    using Microsoft.Office.Interop.PowerPoint;
    
    namespace WebView2Example
    {
        public partial class MainForm : Form
        {
            private PowerPoint.Application pptApp;
            private PowerPoint.Presentation pptPres;
            private PowerPoint.Slide slide;
            private PowerPoint.Shape btnWebView;
    
            public MainForm()
            {
                InitializeComponent();
            }
    
            private void MainForm_Load(object sender, EventArgs e)
            {
                // 创建 PowerPoint 应用程序实例
                pptApp = new PowerPoint.Application();
                pptApp.Visible = MsoTriState.msoTrue;
    
                // 创建新的演示文稿
                pptPres = pptApp.Presentations.Add(MsoTriState.msoTrue);
                slide = pptPres.Slides.Add(1, PpSlideLayout.ppLayoutTitle);
    
                // 添加按钮并分配宏
                btnWebView = slide.Shapes.AddOLEObject(MsoTriState.msoFalse, "Microsoft Forms 2010 ActiveX Control (x64)", "", 100, 100, 500, 300);
                btnWebView.OLEFormat.Object.InvokeMember("Caption", Marshal.GetMethod(typeof(Button), "set_Text", new Type[] { typeof(string) }));
                btnWebView.OLEFormat.Object.InvokeMember("Caption", Marshal.GetMethod(typeof(Button), "get_Text"));
                btnWebView.OLEFormat.Object.InvokeMember("OnAction", Marshal.GetMethod(typeof(Button), "Click"));
            }
    
            private void btnWebView_Click(object sender, EventArgs e)
            {
                // 设置 WebView2 控件的 URL 属性以加载所需的网页
                ((Microsoft.Office.Interop.PowerPoint.WebView2)(btnWebView.OLEFormat.Object)).NavigateToString("https://www.example.com");
            }
        }
    }
    
    1. WebView2 是一个 OLE 对象,因此可以使用 Shapes.AddOLEObject() 方法将其插入到幻灯片中。当使用 Shapes.AddOLEObject() 方法时,其 ClassName 为 "Microsoft Forms 2010 ActiveX Control (x64)"。在上面的代码示例中,我们已经使用了这个 ClassName。

    2. 除了使用 WebView2 之外,还可以尝试使用其他技术来实现类似的效果。例如,可以使用 Office Add-ins SDK 开发插件,或者使用第三方库(如 Chromium)来嵌入浏览器。这些方法可能需要更多的学习和配置,但它们提供了更多的灵活性和功能。

    评论

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 修改了问题 1月14日
  • 修改了问题 1月14日
  • 修改了问题 1月14日
  • 展开全部

悬赏问题

  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?