我一直在努力使用 C# 和 PowerPoint,我之前发布过关于如何使用 C# 更新 ppt 中的链接,如果链接设置为手动,我没有得到任何回复,所以我想我会尝试通过设置链接来规避这个问题自动在文件中,然后当 C# 打开它时,它会更新它们,保存文件,然后破坏它们并将其另存为另一个文件名,但这并没有证明更容易。
我只需要知道如何断开链接。我知道一些 VBA 并编写了一个代码来破坏它们,但是当我使用 RunMacro 方法在 C# 中调用宏时,它似乎不适用于我正在使用的方法(? - 我是 C# 新手,所以我不'不完全理解为什么会这样,但如果你谷歌“运行宏 PowerPoint C#”,你会发现我确信我尝试过的方法。)请帮助,我完全不知所措。
我的脚本看起来像这样
Using PowerPoint = Microsoft.Office.Interop.PowerPoint;
public void Main()
{
PowerPoint.Application ppt = new PowerPoint.Application();
PowerPoint.Presentation PRS = ppt.Presentations.Open(@"Filename.pptm",
Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue);
PRS.UpdateLinks();
PRS.Save
//here is where I need to break the links
PRS.SaveAs(@"filename with links broken.pptm",
Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsOpenXMLPresentationMacroEnabled, MsoTriState.msoTrue);
PRS.Close();
ppt.Quit();
}
我尝试在打开文件之前将链接格式设置为手动,但这不会影响已经创建的任何形状,只会影响之后在程序中创建的新形状。