VBA モジュールの追加

概要

Microsoft Project (MPP/XML) ファイルでは、VBA モジュールによりプロジェクト管理のタスクを自動化するマクロを格納できます。 Aspose.Tasks for .NETを使用すると、既存の VBA プロジェクトに新しい procedural または class モジュールを追加できます。この機能はバージョン 25.6から利用可能です。

新しい VBA モジュールの追加

以下の例は、新しい procedural モジュールを追加し、それにソースコードを割り当てる方法を示しています。このコードを実行する前に、プロジェクトに既に VBA モジュールが含まれていることを確認してください。含まれていない場合、例外が発生します。

 1    Project project = new Project("FileWithVbaProject.mpp");
 2
 3    if (project.VbaProject.Modules.Count == 0)
 4    {
 5        throw new InvalidOperationException("Project should contain VBA modules");
 6    }
 7
 8    VbaModule newModule = VbaModule.CreateProceduralModule("TestModule10");
 9    newModule.SourceCode = @"Sub TestMacro()
10    MsgBox ""This is a test macro.""
11    End Sub";
12
13    project.VbaProject.Modules.Add(newModule);
14                
15    // WriteVba flag should be specified in order to apply changes to MPP file.
16    project.Save("output.mpp", new MPPSaveOptions { WriteVba = true });

このコードは、指定した名前の新しい VBA モジュールを作成します TestModule10 。メッセージボックスを表示する簡単なマクロが含まれています。モジュールを正しく保存するには、 WriteVba フラグを MPPSaveOptionsにおいて有効にする必要があります。

よくある質問

Q: 既存の VBA プロジェクトがない状態で、プロジェクトに VBA モジュールを追加できますか?

Q: どの種類の VBA モジュールを追加できますか?

結論

Aspose.Tasks for .NET を使用して VBA モジュールを追加することで、開発者は Microsoft Project ファイル内で直接自動化機能を利用できます。これにより、繰り返し作業や複雑な処理のためのカスタムマクロでプロジェクト機能を拡張できます。

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.