この記事では、Java の Excel VBA ライブラリにモジュールを追加する方法を説明します。これには、開発環境を設定するための詳細、プログラミング タスクのリスト、Java の VBA コード ライブラリ へのモジュールの追加を示すサンプル コードが含まれています。また、Excel ファイルのマクロの開発を示す VBA コードなど、さまざまなモジュール プロパティを設定する方法も学習します。
Java で Excel VBA コード ライブラリを変更する手順
- VBA を操作するために Aspose.Cells for Java を使用するように IDE を設定します
- Workbook オブジェクトをインスタンス化し、sheet にアクセスし、選択したシートにモジュールを追加します
- ワークブックから新しいモジュールにアクセスし、その名前を設定します
- VBA コードを作成してテストし、それをモジュールの code プロパティとして使用します。
- 必要に応じて、出力 Excel ファイルを XLSM としてディスクまたはストリームに保存します。
これらの手順は、Java* の *Excel VBA ソース コード ライブラリに追加を行うプロセスをまとめたものです。ワークブックのワークシートを使用して新しい VbaModule を追加し、その中にいくつかのプロパティを設定する必要があるため、このプロセスは簡単です。マクロを動作させるには、複数行の VBA コードを使用してプロパティ「コード」を設定します。
JavaのExcelマクロライブラリにコードを追加するコード
import com.aspose.cells.*; | |
public class Main | |
{ | |
public static void main(String[] args) throws Exception // Add VBA Code in Java | |
{ | |
// Set the licenses | |
new License().setLicense("License.lic"); | |
// Create a workbook | |
Workbook wb = new Workbook(); | |
// Select a sheet | |
Worksheet ws = wb.getWorksheets().get(0); | |
// Add VBA Module and get its reference | |
int idx = wb.getVbaProject().getModules().add(ws); | |
VbaModule 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) | |
' Verify if updated cell is within a specified range | |
If Not Intersect(Target, Range("A1:Z100")) Is Nothing Then | |
' Loop through all cells | |
For Each Cell In Target | |
' Check the cell value and apply formatting accordingly | |
If Cell.Value >= 80 Then | |
Cell.Interior.Color = RGB(0, 255, 0) ' Green | |
ElseIf Cell.Value >= 50 And Cell.Value < 80 Then | |
Cell.Interior.Color = RGB(255, 165, 0) ' Orange | |
ElseIf Cell.Value < 50 Then | |
Cell.Interior.Color = RGB(152, 133, 88) ' Dark Tan | |
Else | |
' Reset the background color if none of the conditions are met | |
Cell.Interior.ColorIndex = xlNone | |
End If | |
Next Cell | |
End If | |
End Sub | |
"""); | |
// Save the output | |
wb.save("sampleWithMacro.xlsm", SaveFormat.XLSM); | |
System.out.println("Done"); | |
} | |
} |
このコード スニペットは、Java の VBA コード ライブラリ にアクセスし、コードが含まれるモジュールを追加する方法を示しています。このサンプルコードでは、VBAコードで定義した値の範囲に応じてセルの色を変更するコードと名前を設定しています。 CLASS、DESIGNER、DOCUMENT、PROCEDURAL を含む VbaModuleType 列挙子の値を引数として受け取る別のオーバーロードされたメソッドを使用してモジュールを追加できます。
この記事では、Excel ファイルに新しいマクロを作成する方法を説明しました。 Excel で条件付き書式を適用するには、Java を使用して Excel に条件付き書式を適用する に関する記事を参照してください。