私は C# と PowerPoint で苦労しています。リンクが手動に設定されている場合に C# を使用して ppt のリンクを更新する方法について以前に投稿しましたが、応答がなかったため、リンクを設定して問題を回避しようと考えました。ファイルを自動に変更し、C# でファイルを開くと、ファイルが更新され、ファイルが保存され、分割されて別のファイル名で保存されますが、これほど簡単であるとは証明されていません。
私が知る必要があるのは、リンクを解除する方法だけです。私はいくつかの VBA を知っており、それらを壊すコードを書きましたが、RunMacro メソッドを使用して C# でマクロを呼び出すと、使用しているメソッドで動作していないようです (? - C# は初めてなので、これがなぜなのか完全には理解できませんが、Google で「マクロ 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();
}
ファイルを開く前に linkformat を manual に設定しようとしましたが、既に作成されている図形には影響せず、後でプログラム内で作成された新しい図形にのみ影響します。