追加削除パワーポイントvbaC#

VBAマクロは、PowerPointプレゼンテーションのさまざまな機能を自動化するために使用されます。たとえば、VBAを使用して、反復的なタスクを実行したり、グラフやフォームを生成したりできます。この記事では、PowerPointVBAマクロをプログラムで操作する方法を学習します。特に、この記事では、C#を使用してPowerPointプレゼンテーションでVBAマクロを追加、抽出、または削除する方法について説明します。

PowerPoint VBAマクロ用のC#API

Aspose.Slides for .NETは、C#を使用してPowerPointプレゼンテーションを作成、編集、変換できる機能豊富なAPIです。さらに、APIを使用すると、VBAマクロをシームレスに操作できます。 APIを使用するには、DLLをダウンロードするか、NuGetを使用してインストールします。

PM> Install-Package Aspose.Slides.NET

C#を使用してPowerPointプレゼンテーションにVBAマクロを追加する

以下は、C#を使用してPowerPointプレゼンテーションにVBAマクロを追加する手順です。

次のコードサンプルは、C#を使用してPowerPointプレゼンテーションにVBAマクロを追加する方法を示しています。

// プレゼンテーションを読み込む
using (Presentation presentation = new Presentation("presentation.pptm"))
{
    // 新しいVBAプロジェクトを作成する
    presentation.VbaProject = new VbaProject();

    // 空のモジュールをVBAプロジェクトに追加します
    IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
  
    // モジュールのソースコードを設定する
    module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";

    // への参照を作成する<stdole>
    VbaReferenceOleTypeLib stdoleReference =
        new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");

    // Officeへの参照を作成する
    VbaReferenceOleTypeLib officeReference =
        new VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library");

    // VBAプロジェクトへの参照を追加します
    presentation.VbaProject.References.Add(stdoleReference);
    presentation.VbaProject.References.Add(officeReference);
    
    // プレゼンテーションを保存
    presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}

C#を使用してPowerPointからVBAマクロを抽出する

Aspose.Slides for .NETを使用すると、PowerPointプレゼンテーションのVBAプロジェクトからVBAモジュールを抽出することもできます。この操作を実行する手順は次のとおりです。

次のコードサンプルは、C#を使用してPowerPointVBAマクロを抽出する方法を示しています。

// プレゼンテーションを読み込む
using (Presentation pres = new Presentation("presentation.pptm"))
{
	if (pres.VbaProject != null) // check if Presentation contains VBA Project
	{
		foreach (IVbaModule module in pres.VbaProject.Modules)
		{
			Console.WriteLine(module.Name);
			Console.WriteLine(module.SourceCode);
		}
	}
}

PowerPointVBAマクロを削除する

PowerPointプレゼンテーションから特定のVBAマクロを削除することもできます。このために、VBAプロジェクトからインデックスによってVBAモジュールにアクセスして削除します。この操作を実行する手順は次のとおりです。

次のコードサンプルは、PowerPointVBAマクロを削除する方法を示しています。

// プレゼンテーションを読み込む
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
    // VBAモジュールを削除します
    presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);

    // プレゼンテーションを保存する
    presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}

無料のAPIライセンスを取得する

一時ライセンスをリクエストすることで、評価の制限なしにAspose.Slides for .NETを試すことができます。

結論

この記事では、C#を使用してPowerPointVBAマクロを操作する方法を学習しました。特に、PowerPointプレゼンテーションでVBAマクロを追加、抽出、および削除する方法を見てきました。 APIの他の機能を調べるには、ドキュメントを参照してください。また、フォーラムからお気軽にご相談ください。

関連項目

ヒント:Aspose無料のマクロ削除Webアプリを確認することをお勧めします。