Zugriff auf Excel-Objekte aus kompiliertem VBA-Code
Wenn Sie Code für den VBA Compiler schreiben, müssen Sie das Application-Objekt ausdrücklich verwenden, um auf das Objektmodell von Excel zuzugreifen.
Eine ausführliche Referenz der verfügbaren Eigenschaften und Methoden finden Sie in der Dokumentation des Microsoft Office Dev Center.
Beispiele
Section titled “Beispiele”Eine Range referenzieren
Section titled “Eine Range referenzieren”Um eine Zelle oder einen Zellbereich auf Ihrem Tabellenblatt zu referenzieren, müssen Sie dem Range-Objekt Application voranstellen.
- Standard-VBA:
Range("A1:A4").Value = 2 - Kompiliertes VBA:
Application.Range("A1:A4").Value = 2
Tabellenfunktionen verwenden
Section titled “Tabellenfunktionen verwenden”Um Excel-Tabellenfunktionen zu verwenden, müssen Sie das Objekt Application.WorksheetFunction verwenden.
Str1 = Application.WorksheetFunction.VLookup(Param1.ComboBox1, Application.Range("A2:C8"), 2, False)
Vollständiges Beispiel: Umwandlung eines Makros
Section titled “Vollständiges Beispiel: Umwandlung eines Makros”Hier ist ein Standard-VBA-Makro:
Sub test() Dim qty As Integer Dim price As Single, amount As Single Range("A5").Value = "Item" ActiveCell.Offset(1, 0).Select ActiveCell.Value = InputBox("Enter the name of item") ActiveCell.Offset(0, 1).Select price = InputBox("Enter the price") ActiveCell.Value = price ' ... and so onEnd SubHier ist derselbe Code, angepasst für den VBA Compiler von XLS Padlock. Beachten Sie die Hinzufügung des Application-Objekts und der expliziten Parameter für InputBox.
Sub test(Param1) Dim qty As Integer Dim price As Single, amount As Single Application.Range("A5").Value = "Item" Application.ActiveCell.Offset(1, 0).Select Application.ActiveCell.Value = Application.InputBox("Enter the name of item", "Name", "") Application.ActiveCell.Offset(0, 1).Select price = Application.InputBox("Enter the price", "Price", "") Application.ActiveCell.Value = price ' ... and so onEnd SubIhr ursprüngliches VBA-Modul würde dann so angepasst, dass es die kompilierte Version aufruft:
Sub test() res = CallXLSPadlockVBA("test", "")End Sub