VBA モジュールの追加
Contents
[
Hide
Show
]概要
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 モジュールを追加できますか?
- いいえ。対象の Microsoft Project ファイルには、少なくとも1つのモジュールを含む VBA プロジェクトが既に存在している必要があります。
Q: どの種類の VBA モジュールを追加できますか?
- 追加できるのは procedural と class のモジュールです。
結論
Aspose.Tasks for .NET を使用して VBA モジュールを追加することで、開発者は Microsoft Project ファイル内で直接自動化機能を利用できます。これにより、繰り返し作業や複雑な処理のためのカスタムマクロでプロジェクト機能を拡張できます。