weixin_45840746 2024-01-25 12:07 采纳率: 35.6%
浏览 11
已结题

c#:powerpoint的外接程序

我现在正在写一个powerpoint的外接程序,我希望在里面获取到sharepoint的一个文件夹下所有的图片展示,我该怎么实现哎,总是连接不通,请教

  • 写回答

13条回答 默认 最新

  • 百锦再@新空间代码工作室 全栈领域优质创作者 2024-01-25 12:47
    关注

    微信GPT辅助回答,我来筛选答案是否切合题目是否有用。我觉得应该能解决你的问题了。请采纳,谢谢!

    要编写一个 C# 的 PowerPoint 外接程序,用于获取 SharePoint 文件夹下的所有图片并展示在 PowerPoint 中,你可以按照以下步骤进行实现:

    1. 首先,确保你的项目引用了 Microsoft.Office.Interop.PowerPointMicrosoft.SharePoint.Client 两个库。你可以通过 NuGet 管理器添加这两个库。

    2. 在代码中首先创建 PowerPoint 应用程序对象和一个新的 PowerPoint 文档对象:

      using Microsoft.Office.Interop.PowerPoint;
      using Microsoft.SharePoint.Client;
      
      // 创建 PowerPoint 应用程序对象
      Application pptApp = new Application();
      
      // 创建新的 PowerPoint 文档
      Presentation pptPresentation = pptApp.Presentations.Add(MsoTriState.msoTrue);
      
    3. 连接到 SharePoint 并获取文件夹下的图片 URL:

      string siteUrl = "YOUR_SHAREPOINT_SITE_URL";
      string listTitle = "DOCUMENT_LIBRARY_TITLE";
      string folderUrl = "FOLDER_URL";
      
      // 使用 SharePoint 客户端对象模型连接到 SharePoint
      ClientContext context = new ClientContext(siteUrl);
      
      // 获取 SharePoint 列表
      List list = context.Web.Lists.GetByTitle(listTitle);
      
      // 获取 SharePoint 文件夹下的所有文件
      CamlQuery query = new CamlQuery();
      query.FolderServerRelativeUrl = folderUrl;
      ListItemCollection items = list.GetItems(query);
      
      // 加载文件属性以获取文件 URL
      context.Load(items, includes => includes.Include(item => item.File));
      context.ExecuteQuery();
      
      // 遍历每个文件,获取图片 URL 并添加到 PowerPoint 文档中
      foreach (ListItem item in items)
      {
          // 获取文件的服务器相对 URL
          string fileUrl = item.File.ServerRelativeUrl;
      
          // 将图片文件添加到 PowerPoint 文档的幻灯片中
          Slide slide = pptPresentation.Slides.Add(pptPresentation.Slides.Count + 1, PpSlideLayout.ppLayoutBlank);
          slide.Shapes.AddPicture(context.Url + fileUrl, MsoTriState.msoFalse, MsoTriState.msoTrue, 50, 50, 600, 400);
      }
      
    4. 最后,保存并关闭 PowerPoint 文档,并释放相关资源:

      // 保存 PowerPoint 文档
      string outputPath = "YOUR_OUTPUT_PATH.pptx";
      pptPresentation.SaveAs(outputPath, PpSaveAsFileType.ppSaveAsDefault);
      
      // 关闭 PowerPoint 文档和 PowerPoint 应用程序对象
      pptPresentation.Close();
      pptApp.Quit();
      
      // 释放资源
      System.Runtime.InteropServices.Marshal.ReleaseComObject(pptPresentation);
      System.Runtime.InteropServices.Marshal.ReleaseComObject(pptApp);
      

    注意替换代码中的 YOUR_SHAREPOINT_SITE_URLDOCUMENT_LIBRARY_TITLEFOLDER_URLYOUR_OUTPUT_PATH.pptx 分别为你的 SharePoint 网站地址、文档库标题、文件夹 URL 和输出 PowerPoint 文件的路径。

    通过以上步骤,你可以编写一个 C# 的 PowerPoint 外接程序,连接到 SharePoint 并将文件夹下的所有图片展示在 PowerPoint 中。记得确保项目引用了所需的库,并根据具体情况修改代码中的参数值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(12条)

报告相同问题?

问题事件

  • 系统已结题 2月3日
  • 已采纳回答 1月26日
  • 创建了问题 1月25日

悬赏问题

  • ¥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深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价