追加削除パワーポイントvbaJava

VBAマクロは、PowerPointプレゼンテーションで繰り返しタスクを実行したり、グラフやフォームを生成したりするために使用されます。プログラムでプレゼンテーションを操作しているときに、VBAマクロを操作する必要がある場合があります。これに従って、この記事では、Javaを使用してPowerPointプレゼンテーションでVBAマクロを追加、抽出、または削除する方法を学習します。

PowerPointVBAマクロ用のJavaAPI

プレゼンテーションでVBAマクロを操作するには、Aspose.Slides for Javaを使用します。これは、Javaアプリケーション内からPowerPointプレゼンテーションを作成または操作できる機能豊富なAPIです。 APIをダウンロードするか、次のMaven構成を使用してインストールできます。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.7</version>
    <classifier>jdk16</classifier>
</dependency>

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

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

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

// プレゼンテーションのインスタンス化
Presentation pres = new Presentation();
try {
    // 新しいVBAプロジェクトを作成する
    pres.setVbaProject(new VbaProject());
    
    // 空のモジュールをVBAプロジェクトに追加します
    IVbaModule module = pres.getVbaProject().getModules().addEmptyModule("Module");
    
    // モジュールのソースコードを設定する
    module.setSourceCode("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プロジェクトへの参照を追加します
    pres.getVbaProject().getReferences().add(stdoleReference);
    pres.getVbaProject().getReferences().add(officeReference);
    
    pres.save("test.pptm", SaveFormat.Pptm);
} finally {
    if (pres != null) pres.dispose();
}

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

以下は、Javaを使用してPowerPointプレゼンテーションからVBAマクロを抽出する手順です。

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

// プレゼンテーションを読み込む
Presentation pres = new Presentation("VBA.pptm");
try {
    if (pres.getVbaProject() != null) // check if Presentation contains VBA Project
    {
        // VBAモジュールをループする
        for (IVbaModule module : pres.getVbaProject().getModules())
        {
            System.out.println(module.getName());
            System.out.println(module.getSourceCode());
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

PowerPointVBAマクロを削除する

VBAプロジェクトのインデックスを使用して、PowerPointから特定のVBAマクロを削除することもできます。この操作を実行する手順は次のとおりです。

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

// プレゼンテーションを読み込む
Presentation pres = new Presentation("VBA.pptm");
try {
    // Vbaモジュールにアクセスして削除します
    pres.getVbaProject().getModules().remove(pres.getVbaProject().getModules().get_Item(0));
    
    // プレゼンテーションを保存
    pres.save("test.pptm", SaveFormat.Pptm);
} finally {
    if (pres != null) pres.dispose();
}

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

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

結論

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

関連項目

ヒント:AsposeオンラインVBAマクロ削除ツールを試してみることをお勧めします。