บทความนี้แนะนำวิธี เพิ่มโมดูลใน Excel ไลบรารี VBA ใน Java โดยมีรายละเอียดในการตั้งค่าสภาพแวดล้อมการพัฒนา รายการงานการเขียนโปรแกรม และโค้ดตัวอย่างที่สาธิตการเพิ่มโมดูลใน ไลบรารีโค้ด VBA ใน Java นอกจากนี้คุณยังจะได้เรียนรู้การตั้งค่าคุณสมบัติของโมดูลต่างๆ เช่น โค้ด VBA ที่แสดงการพัฒนาแมโครสำหรับไฟล์ Excel
ขั้นตอนในการปรับเปลี่ยนไลบรารีโค้ด Excel VBA ใน Java
- ตั้งค่า IDE เพื่อใช้ Aspose.Cells for Java เพื่อทำงานกับ VBA
- สร้างอินสแตนซ์ของวัตถุ Workbook เข้าถึง sheet และเพิ่มโมดูลสำหรับแผ่นงานที่เลือก
- เข้าถึงโมดูลใหม่จากสมุดงานและตั้งชื่อ
- เขียนและทดสอบโค้ด VBA และใช้เป็นคุณสมบัติโค้ดในโมดูล
- บันทึกไฟล์ 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