Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Exceldateien per VBA öffnen trotz unterschiedliche

Exceldateien per VBA öffnen trotz unterschiedliche
21.03.2013 07:58:25
Wilfried
Guten Tag
Die Umstellung von Excel 2003 auf 2010 hat mich erreicht.
Mein Problem:
In einem Verzeichnis befinden sich mehrere Dateien die über eine Makroschleife aufgerufen und bearbeitet werden. Bislang war dies kein Problem da die Endung immer „.xls“ war.
Jetzt verhält es sich so, dass die Dateien entweder als „.xls“ oder „.xlsx“ oder „.xlsm“ abgespeichert sein können. Die Endungen sind mir unbekannt und leben aufgrund der Umstellung. Der weitere Dateiname hat sich nicht geändert.
Meine Frage:
Gibt es eine Möglichkeit, die VBA Routine so abzuändern das alle Exceldateien geöffnet werden unabhängig von ihrer Endung?
Wie müsste die Syntax dazu aussehen?
(Im Online-Archiv bin ich leider nicht fündig geworden.)
Ich würde mich über eine Antwort freuen.
Wilfried

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Deine bisherige Syntax?
21.03.2013 08:10:55
Klaus
Hallo Wilfried,
möchtest du eine komplette Syntax dazu haben, die du dann aufwendig auf deinen Code anpassen musst? Dann musst du warten, bis ein Helfer die Muße hat das komplett zu schreiben und hoffen, dass es auch auf deine Masterdateien passt.
Oder willst du die Kleinigkeit direkt in deinem bisherigem Code angepasst haben? Dann währe es sinnvoll, diesen hier zu posten!
Ich vermute, es reicht bereits in deinem Code jedes "Dateiname.xls" gegen "Dateiname.xls*" zu ersetzen.
Grüße,
Klaus M.vdT.

AW: Deine bisherige Syntax?
21.03.2013 09:34:33
Wilfried
Danke für deine Antwort.
In einer kleinen Testumgebung (C:\Test) befinden sich diese drei Dateien:
Test1.xls
Test2.xlsx
Test3.xlsm
So lassen sich diese öffnen:
Workbooks.Open ("c:\Test\Test1.xls")
Workbooks.Open ("c:\Test\Test2.xlsx")
Workbooks.Open ("c:\Test\Test3.xlsm")
Du hattest vorgeschlagen “.xls” durch “.xls*” zu ersetzen:
Dieser Code funktioniert bei mir nicht:
Workbooks.Open ("c:\Test\Test1.xls*")
Workbooks.Open ("c:\Test\Test2.xls*")
Workbooks.Open ("c:\Test\Test3.xls*")
Mache ich etwas falsch?
Gruß
Wilfried

Anzeige
AW: Deine bisherige Syntax?
21.03.2013 11:34:10
Wilfried
Ich habe auch die folgende Syntax probiert, leider ohne Erfolg
funktioniert:
'Workbooks.Open Filename:="C:\Test\Test1.xls"
'Workbooks.Open Filename:="C:\Test\Test2.xlsx"
'Workbooks.Open Filename:="C:\Test\Test3.xlsm"
funktioniert leider nicht:
Workbooks.Open Filename:="C:\Test\Test1.xls*"
Workbooks.Open Filename:="C:\Test\Test2.xls*"
Workbooks.Open Filename:="C:\Test\Test3.xls*"
Was habe ich nicht beachtet?
Gruß
Wilfried

AW: Deine bisherige Syntax?
21.03.2013 12:11:07
Klaus
Hi Wilfried,
reicht dir eine brutale, unelegante Lösung?
Sub AlleOeffnen()
Call VersucheZuOeffnen("C:\TestTmp\Test1") 'Dateiname OHNE Endung!
Call VersucheZuOeffnen("C:\TestTmp\Test2") 'Dateiname OHNE Endung!
Call VersucheZuOeffnen("C:\TestTmp\Test3") 'Dateiname OHNE Endung!
End Sub
Sub VersucheZuOeffnen(spath As String)
On Error Resume Next
Workbooks.Open Filename:=spath & ".xls"
Workbooks.Open Filename:=spath & ".xlsm"
Workbooks.Open Filename:=spath & ".xlsx"
End Sub
Das müsste theoretisch funktionieren, für eine "richtige" Lösung hab ich grad leider keine Zeit ...
Grüße,
Klaus M.vdT.

Anzeige
AW: Exceldateien per VBA öffnen trotz unterschiedliche
21.03.2013 08:31:43
haw
Hallo Wilfried,
hier ein Beispiel:
Sub Dateien_listen()
'Bestehende Dateien werden geöffnet, ...
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
'!!! Hier das Laufwerk und den Verzeichnispfad setzen
Set objFolder = objFSO.GetFolder(ThisWorkbook.Path & "\Finalisiert\")
For Each objFile In objFolder.Files
If InStr(LCase(objFile.Name), "xls") > 0 Then
Application.StatusBar = objFile.Name & " wird geöffnet und adaptiert ..."
Workbooks.Open Filename:=ThisWorkbook.Path & "\Finalisiert\" & objFile.Name
'hier deine weiteren Befehle
End If
Next objFile
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
End Sub
Gruß
Heinz
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige