Importieren eines Moduls aus einer Datei mit VBA in Microsoft Excel
In diesem Artikel erstellen wir ein Makro zum Importieren eines Moduls in die aktive Arbeitsmappe.
Wir werden Filename.bas als Modul verwenden, das wir importieren möchten.
Klicken Sie auf die Schaltfläche Einfügen, um das Modul aus Filename.bas in die aktive Arbeitsmappe zu importieren.
Die Arbeitsmappe enthält nur ein Modul „MainModule“.
Nach dem Ausführen des Makros wird ein neues Modul aus Filename.bas
importiert
Logische Erklärung
In diesem Artikel haben wir zwei Makros erstellt, InsertVBComponent und Calling_Procedure
InsertVBComponent
Es nimmt den Arbeitsmappennamen und den Dateinamen als Eingaben und importiert das Modul in die Arbeitsmappe.
Calling_Procedure
Es wird verwendet, um das Makro InsertVBComponent mit der aktiven Arbeitsmappe und Dateiname.bas als Eingaben aufzurufen.
Code Erklärung
Wenn Dir (CompFileName) <> „“, wird der obige Code verwendet, um zu überprüfen, ob der Dateiname im Verzeichnis vorhanden ist.
wb.VBProject.VBComponents.Import CompFileName Der obige Code wird zum Importieren des Moduls in die aktive Arbeitsmappe verwendet.
Bitte folgen Sie unten für den Code
Option Explicit Sub InsertVBComponent(ByVal wb As Workbook, ByVal CompFileName As String) ' Inserts the content of CompFileName as a new component in workbook ' CompFileName must be a valid VBA component suited for ' import (an exported VBA component) 'Checking whether CompFileName file exists If Dir(CompFileName) <> "" Then 'Ignore errors On Error Resume Next 'Inserts component from file wb.VBProject.VBComponents.Import CompFileName On Error GoTo 0 End If Set wb = Nothing End Sub Sub Calling_Procedure() 'Calling InsertVBComponent procedure InsertVBComponent ActiveWorkbook, "C:\Users\Ramandeep\Desktop\Filename.bas" End Sub
Wenn dir dieser Blog gefallen hat, teile ihn mit deinen Freunden auf Facebook und Facebook.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]