Python を使用して Excel VBA ライブラリにコードを追加する

このクイック ガイドでは、Python を使用して Excel VBA ライブラリにコードを追加するプロセスについて説明します。開発用の IDE の設定方法の詳細、プログラミング タスクを定義する手順のリスト、Python を使用した Excel マクロ ライブラリの方法を示すサンプル コードが含まれています。 VBA ライブラリにアクセスし、要件に応じてモジュール/コードを追加する方法を学びます。

Python を使用して Excel VBA ソース コード ライブラリを追加する手順

  1. Java 経由の Python 用 Aspose.Cells を使用して VBA ライブラリを更新するように IDE を設定します
  2. Workbook オブジェクトを作成し、シートにアクセスして、新しい module を追加します
  3. モジュールの作成時に返されたインデックスを使用して、新しく作成されたモジュールにアクセスします
  4. モジュールの名前を設定します
  5. モジュールのコードを設定します
  6. 結果の Excel ファイルを XLSM として保存します

これらの手順は、Python を使用して VBA コード ライブラリにアクセスし、モジュールを追加するプロセスを要約しています。ワークブックを作成またはロードし、ワークシートを選択し、モジュールとコードを VBA プロジェクトに追加することでプロセスを開始します。最後に、新しく作成したモジュールに名前とコードを設定し、XLSM ファイルをディスクに保存します。

Python を使用して VBA コード ライブラリを更新するコード

import jpype
import asposecells as cells
jpype.startJVM()
from asposecells.api import License, Workbook, SaveFormat
# Instantiate a license
license = License()
license.setLicense("License.lic")
# Create a workbook
wb = Workbook()
# Select a sheet
ws = wb.getWorksheets().get(0)
# Add VBA Module and get its reference
idx = wb.getVbaProject().getModules().add(ws)
module = wb.getVbaProject().getModules().get(idx)
# Assign a name to the module
module.setName("SetGreenEven")
# Set code for the module
module.setCodes("""
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Dim cell As Range
' Set the active sheet
Set ws = ActiveSheet
' Check if the changed cells have even numeric values
For Each cell In Target
If IsNumeric(cell.Value) And cell.Value Mod 2 = 0 Then
' Set the background color to green
cell.Interior.Color = RGB(0, 255, 0) ' RGB for green
Else
' If the value is not even, reset the background color to default (optional)
cell.Interior.ColorIndex = xlNone
End If
Next cell
End Sub
""")
# Save the output
wb.save("sampleWithMacro.xlsm", SaveFormat.XLSM)
print("VBA Module with code added successfully!!!")

このサンプル コードは、Python* を使用して *Excel VBA コード ライブラリのコードを含むモジュールを追加するプロセスを示します。このサンプル VBA コードは、セルに偶数を入力すると、各セルの背景色を緑色に変更します。 Vba モジュール タイプを PROCEDURAL、DOCUMENT、CLASS、または DESIGNER に設定できます。

この記事では、Excel ファイルにマクロを追加するプロセスについて説明しました。 Excel ファイルの保護を解除する場合は、Python で Excel の保護を解除する方法 の記事を参照してください。

 日本語