Hallo,
ich habe mehrere Workbooks von Excel auf meinem PC offen. nun will ich deren Namen auflisten. Das sollte der Code machen:
Dim a As Variant
Dim ExcelApp As Excel.Application
Dim oWorkbook As Workbooks
Set ExcelApp = GetObject(, "Excel.Application")
Set oWorkbook = Workbooks
For Each a In Workbooks
Debug.Print a.Name
Next a
allerdings ist a = leer. also es werden keine Workbooks angezeigt.
kann jemand helfen?
mfg
Hallo,
ist dir vielleicht hiermit zu helfen?
m.E. müsste dein Code so ähnlich lauten:
Dim ExcelApp As Excel.Application
Dim oWorkbook As Workbook
Set ExcelApp = GetObject(, "Excel.Application")
For Each oWorkbook In ExcelApp
Debug.Print oWorkbook.Name
Next oWorkbook
set ExcelApp = Nothing
(ungetestet!)
Gruß
Peter
Hallo Peter,
bei der Zeile
For Each a In Workbooks
kommt die Meldung
Objekt unterstütst diese Eigenschaft oder Methode nicht
hast du noch ne Idee ???
Hallo,
jo, hab' ich...
diese Zeile kommt in MEINEM Voschlag NICHT vor!
Versuch mal meinen Vorschlag umzusetzen
gleicher user gleiche Meldung.
oWorkbook = Nothing
habe ich vergessen
Hallo, guten Morgen,
Dim ExcelApp As Excel.Application
Dim oWorkbook As Workbook
Set ExcelApp = GetObject(, "Excel.Application")
For Each oWorkbook In ExcelApp.Workbooks
Debug.Print oWorkbook.Name
Next oWorkbook
Set ExcelApp = Nothing
mit obigem Code werden die geöffneten Excel-Arbeitsmappen aufgelistet. Du musst einen Verweis auf die Microsoft Excel xx.x Object Library setzen damit die Excel-Objekte auch angesprochen wserden können.
Kopier den Code ins Klickereignis eines Buttons und schau dir das Direktfenster an beim schrittweisen durchlaufen der Anweisungen.
Du solltest eine Fehlerbehandlung einbauen für den Fall, dass der Code gestartet wird und KEINE Excel-Dateien offen sind!
HTH
Peter
:D SPITZE ;D
Ich danke dir. Hat sehr gut funktioniert.
bis bald