默认情况下使用打开文件调试 PowerPoint VSTO 加载项

Debug PowerPoint VSTO Add-In with opening a file by default

在我的 PPT 加载项中有一个错误,当您双击 PPT 文件时,我没有 运行 正确地进行一些初始化。此初始化启用功能区上的某些按钮,应在打开第一个演示文稿时完成(并且在关闭最后一个演示文稿时禁用按钮)。

如果我用 /O FileName 个参数打开 POWERPNT.EXE,我也可以重现这个问题。

我不能做的是使用这些命令行参数开始调试,因为我可以在项目设置中设置的命令行参数似乎没有委托给 POWERPNT.EXE

有没有办法做到这一点,或者我是否需要退回到 phpesque 调试(a.k.a 登录到控制台)?

如果要使用不同版本的 Office(2013 或 2016)调试 VSTO 加载项,请打开 Project Designer,然后在 Debug 选项卡中,选择 Start external program 选项按钮。然后,浏览到相应的 Office 应用程序可执行文件的位置。您还可以为 Office 应用程序指定命令行参数。有关详细信息,请参阅 Debugging Office Projects

要根据需要传递命令行参数,您必须切换到 "Start external program" under

项目属性 --> 选项卡 "Debug" --> 部分 "Start action"

然后使用 "Browse" 按钮填写您希望启动的所需外部程序,在本例中是 Power Point 的路径,或者只是 type/paste 它。

然后在下面的文本框中填写命令行参数。

备注

只有在使用 AddIn 项目时才需要这样做,因为它们的启动例程不同于 "normal" Window/Console 应用程序。对于那些 "Start project" 将正确遵守命令行参数。

AddIn 项目在他们的项目文件中有这样的东西:

  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{xxxxx}">
        <ProjectProperties HostName="PowerPoint" HostPackage="{xxxxx}" OfficeVersion="15.0" VstxVersion="4.0" ApplicationType="PowerPoint" Language="cs" TemplatesPath="" DebugInfoExeName="#Software\Microsoft\Office.0\Word\InstallRoot\Path#POWERPNT.EXE" DebugInfoCommandLine="/x" AddItemTemplatesGuid="{51063C3A-E220-4D12-8922-BDA915ACD783}" />
        <Host Name="PowerPoint" GeneratedCodeNamespace="PowerPointAddIn" IconIndex="0">
          <HostItem Name="ThisAddIn" Code="ThisAddIn.cs" CanonicalName="AddIn" CanActivate="false" IconIndex="1" Blueprint="ThisAddIn.Designer.xml" GeneratedCode="ThisAddIn.Designer.cs" />
        </Host>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>

您可以将所需的命令行参数传递给此值 DebugInfoCommandLine="/x",然后使用 "Start project".

时将传递这些参数