Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Datei über VBA-Makro öffnen





Frage

Hallo zusammen vielleicht eine "dumme" Frage... ich möchte in einem Makro eine bestimmte Datei öffnen: Workbooks.Open Filename:="D:\daten\XXX.xls", ReadOnly:=True ist es möglich, die Datei auch ohne genaue Verzeichnis-Angabe zu öffnen? Ich möchte das Makro an verschiedene Mitarbeiter verteilen, weiß aber nicht unbedingt, in welchem Verzeichnis/(Unter-)Ordner die Datei lokal gespeichert ist. Was würde passieren, wenn es zwei Dateien mit gleichem Namen an unterschiedlichen Orten gibt? Dankeschön schon mal für die Hilfe Gruß Andreas

Antwort 1 von kicia

Hallo Andreas,
ich bin kein Excelspezialist, aber ich denke:

das Macro muß auf jeden Fall wissen, wo die Datei liegt.
Also entweder muß der Anwender das Verzeichnis angeben
(zB. mit
Verzeichnisnamen = InputBox("Verzeichnisnamen eingeben", "Abfrage")
)
oder das Verzeichnis muß vorgegeben sein,
oder Du müsstest relativ aufwendig eine Funktion schreiben, die nach der Datei sucht,
oder Du mußt eine andere Datei an einem vorgegebenen Ort abspeichern, in der steht, wo die xls Datei liegt.

Ich mache das in meiner Firma so, daß ich für mein Tool im Ordner
C:\Dokumente und Einstellungen\<AnwenderName>\Anwendungsdaten\<FirmenName>\<ToolName>
eine Datei speichere, in der alles nötige steht.
An den Verzeichnisnamen kommst Du in Excel mit
Environ("USERPROFILE") & "\Anwendungsdaten\..."


Antwort 2 von nighty

hi all :-)

ein beispiel :-)

gruss nighty

verzeichnistiefe sollte nicht zu hoch sein

Sub FilesListen()
Dim Dateien As Integer
Dim DateiName As String
With Application.FileSearch
.NewSearch
.LookIn = "D:\Musik\Interpret\"
.SearchSubFolders = True
.Filename = "DeinDateiname.xls"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
DateiName = Dir(.FoundFiles(Dateien))
If DateiName <> ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(Dateien)

Workbooks(DateiName).Close
End If
Next Dateien
End If
End With
End Sub


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: