เพิ่มโมดูลในไลบรารี Excel VBA ใน Java

บทความนี้แนะนำวิธี เพิ่มโมดูลใน Excel ไลบรารี VBA ใน Java โดยมีรายละเอียดในการตั้งค่าสภาพแวดล้อมการพัฒนา รายการงานการเขียนโปรแกรม และโค้ดตัวอย่างที่สาธิตการเพิ่มโมดูลใน ไลบรารีโค้ด VBA ใน Java นอกจากนี้คุณยังจะได้เรียนรู้การตั้งค่าคุณสมบัติของโมดูลต่างๆ เช่น โค้ด VBA ที่แสดงการพัฒนาแมโครสำหรับไฟล์ Excel

ขั้นตอนในการปรับเปลี่ยนไลบรารีโค้ด Excel VBA ใน Java

  1. ตั้งค่า IDE เพื่อใช้ Aspose.Cells for Java เพื่อทำงานกับ VBA
  2. สร้างอินสแตนซ์ของวัตถุ Workbook เข้าถึง sheet และเพิ่มโมดูลสำหรับแผ่นงานที่เลือก
  3. เข้าถึงโมดูลใหม่จากสมุดงานและตั้งชื่อ
  4. เขียนและทดสอบโค้ด VBA และใช้เป็นคุณสมบัติโค้ดในโมดูล
  5. บันทึกไฟล์ Excel เอาต์พุตเป็น XLSM บนดิสก์หรือสตรีมหากจำเป็น

ขั้นตอนเหล่านี้สรุปกระบวนการเพิ่มไลบรารีซอร์สโค้ด Excel VBA ใน Java กระบวนการนี้ง่ายดายเนื่องจากต้องใช้แผ่นงานจากสมุดงานเพื่อเพิ่ม VbaModule ใหม่ จากนั้นจึงตั้งค่าคุณสมบัติบางอย่างในนั้น ตั้งค่ารหัสคุณสมบัติด้วยรหัส VBA หลายบรรทัดเพื่อให้แมโครทำงานได้

รหัสเพื่อเพิ่มรหัสใน Excel Macro Library ใน Java

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");
}
}

ข้อมูลโค้ดนี้แสดงวิธี เข้าถึงไลบรารีโค้ด VBA ใน Java และเพิ่มโมดูลที่มีโค้ดอยู่ในนั้น ในโค้ดตัวอย่างนี้ เราได้ตั้งชื่อและโค้ดที่จะเปลี่ยนสีของเซลล์ตามช่วงของค่าที่กำหนดไว้ในโค้ด VBA คุณสามารถเพิ่มโมดูลโดยใช้วิธีโอเวอร์โหลดอื่นที่ใช้ค่าตัวแจงนับ VbaModuleType เป็นอาร์กิวเมนต์ที่ประกอบด้วย CLASS, DESIGNER, DOCUMENT และ PROCEDURAL

บทความนี้สอนเราให้สร้างแมโครใหม่ในไฟล์ Excel หากต้องการใช้การจัดรูปแบบตามเงื่อนไขใน Excel โปรดดูบทความเกี่ยวกับ ใช้การจัดรูปแบบตามเงื่อนไขใน Excel โดยใช้ Java

 ไทย