このクイック ガイドでは、Python を使用して Excel VBA ライブラリにコードを追加するプロセスについて説明します。開発用の IDE の設定方法の詳細、プログラミング タスクを定義する手順のリスト、Python を使用した Excel マクロ ライブラリの方法を示すサンプル コードが含まれています。 VBA ライブラリにアクセスし、要件に応じてモジュール/コードを追加する方法を学びます。
Python を使用して Excel VBA ソース コード ライブラリを追加する手順
- Java 経由の Python 用 Aspose.Cells を使用して VBA ライブラリを更新するように IDE を設定します
- Workbook オブジェクトを作成し、シートにアクセスして、新しい module を追加します
- モジュールの作成時に返されたインデックスを使用して、新しく作成されたモジュールにアクセスします
- モジュールの名前を設定します
- モジュールのコードを設定します
- 結果の 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 の保護を解除する方法 の記事を参照してください。