Bu makalede Java’da Excel VBA kitaplığına nasıl modül ekleneceği anlatılmaktadır. Geliştirme ortamını ayarlamaya yönelik ayrıntılara, programlama görevlerinin bir listesine ve Java’daki VBA kod kitaplığına bir modülün eklendiğini gösteren örnek bir koda sahiptir. Ayrıca, bir Excel dosyası için bir makronun gelişimini gösteren VBA kodu gibi çeşitli modül özelliklerini ayarlamayı da öğreneceksiniz.
Java’da Excel VBA Kod Kitaplığını Değiştirme Adımları
- VBA ile çalışmak üzere IDE’yi Aspose.Cells for Java kullanacak şekilde ayarlayın
- Bir Workbook nesnesi oluşturun, bir sheet nesnesine erişin ve seçilen sayfa için bir modül ekleyin
- Yeni modüle çalışma kitabından erişin ve adını ayarlayın
- Bir VBA kodu yazıp test edin ve bunu modüldeki codes özelliği olarak kullanın
- Çıkış Excel dosyasını gerekirse diske veya akışa XLSM olarak kaydedin
Bu adımlar, Java*‘daki *Excel VBA kaynak kodu kitaplığına ekleme yapma sürecini özetlemektedir. Yeni bir VbaModule eklemek ve ardından birkaç özelliği ayarlamak için bir çalışma kitabından bir çalışma sayfası gerektirdiğinden işlem basittir. Makroyu çalışır hale getirmek için Çok satırlı VBA kodu içeren Kodlar özelliğini ayarlayın.
Java’da Excel Makro Kitaplığı’na Kod Ekleme Kodu
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"); | |
} | |
} |
Bu kod parçacığı, Java’da VBA kod kitaplığına nasıl erişileceğini ve içinde kod bulunan bir modülün nasıl ekleneceğini gösterir. Bu örnek kodda VBA kodunda tanımlanan değer aralığına göre hücrelerin rengini değiştiren isim ve kodu belirledik. SINIF, TASARIMCI, DOCUMENT ve PROCEDURAL’i içeren bir bağımsız değişken olarak VbaModuleType numaralandırıcı değerini alan başka bir aşırı yüklenmiş yöntemi kullanarak bir modül ekleyebilirsiniz.
Bu makale bize bir Excel dosyasında yeni bir makro oluşturmayı öğretti. Excel’de koşullu biçimlendirmeyi uygulamak için Java kullanarak Excel’de koşullu biçimlendirme uygulama hakkındaki makaleye bakın.