Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Excel Arbeitsmappennamen auflisten

Begonnen von Klingon 33, November 23, 2010, 16:20:02

⏪ vorheriges - nächstes ⏩

Klingon 33

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
Wer Fehler findet, dar diese behalten.

database

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

Klingon 33

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  ???
Wer Fehler findet, dar diese behalten.

database

Hallo,

jo, hab' ich...

diese Zeile kommt in MEINEM Voschlag NICHT vor!

Versuch mal meinen Vorschlag umzusetzen

Klingon 33

Wer Fehler findet, dar diese behalten.

Klingon 33

 oWorkbook = Nothing
habe ich vergessen
Wer Fehler findet, dar diese behalten.

database

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

Klingon 33

 :D SPITZE  ;D

Ich danke dir. Hat sehr gut funktioniert.

bis bald
Wer Fehler findet, dar diese behalten.