Alternativer Speicherpfad

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Alternativer Speicherpfad
von: Andreas
Geschrieben am: 15.10.2015 12:53:43

Hallo zusammen,
meine Excel Tabelle wird bei uns von zwei Standorten genutzt, die entsprechend zwei verschiedene Speicherpfade nutzen.
Aktuell erstelle ich zwei verschiedene Versionen, aber ich denke mir, es muss doch auch möglich sein, dass Excel prüft, ob der Speicherpfad vorhanden ist und wenn nicht, einen anderen Pfad nutzt. Somit bräuchte ich nur noch eine Version.
Kann mir bitte jemand eine Lösung vorschlagen, sofern dies möglich ist.
Wenn Pfad "L:\Marketing\New\" nicht vorhanden, dann speicher unter R:\Marketing\New\
Hier mein Text:


   Dim strPfad As String
   Dim DatNam As String
   
   DatNam = Sheets("Marketing").Range("A2").Text & Sheets("Box").Range("D2").Text & ".xlsx"
   strPfad = "L:\Marketing\New\"
   
   
    ActiveWorkbook.SaveAs Filename:=strPfad & DatNam, _
        FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
Vielen Dank für die Hilfe

Bild

Betrifft: AW: Alternativer Speicherpfad
von: selli
Geschrieben am: 15.10.2015 13:05:34
hallo andreas,
wenn der speicherpfad gleich dem pfad ist in dem die exceldatei sich befindet, dann
strPfad = ThisWorkbook.Path
gruß
selli

Bild

Betrifft: AW: Alternativer Speicherpfad
von: Andreas
Geschrieben am: 15.10.2015 13:08:05
Nein, ist nicht der gleiche Pfad.
Es handelt sich hier um einen komplett anderen Speicherort auf anderen Laufwerken.

Bild

Betrifft: AW: Alternativer Speicherpfad
von: selli
Geschrieben am: 15.10.2015 13:13:50
hallo andreas,
dann sollte dir dieser beitrag helfen:
https://www.herber.de/forum/archiv/908to912/t908126.htm
gruß
selli

Bild

Betrifft: AW: Alternativer Speicherpfad
von: Andreas
Geschrieben am: 15.10.2015 13:19:31
Ehrlich gesagt, hilft mir das nicht wirklich.
Ich habe mich schon durch diverse Foren gelesen, aber ich konnte für mich noch keine Lösung finden, bzw. weiß es nicht zu nutzen.
Wie muss ich das in meinem Fall anwenden?
Sorry, aber ich bin kein Experte auf dem Gebiet...
Gruß
Andreas

Bild

Betrifft: AW: Alternativer Speicherpfad
von: Peter Stähler
Geschrieben am: 15.10.2015 13:29:16
Hi Andreas,
also ich würde überprüfen, ob der erste Pfad vorhanden ist. Wenn ja, dann wird darin gespeichert. Wenn nein, dann wird im anderen gespeichert. Sollte so gehen:

Sub sSpeichern
    Dim FSO
    Dim strPfad as string
    Set FSO = CreateObject("Scripting.FileSystemObject")
    if FSO.FolderExists("L:\Marketing\New\") then
        strPfad = "L:\Marketing\New\"
    else
        strPfad = "R:\Marketing\New\"
    endif
    ActiveWorkbook.SaveAs Filename:=strPfad & DatNam, _
        FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
End Sub
Blöd wird's halt wenn beide Pfade nicht existieren ..
Viel Erfolg
Peter

Bild

Betrifft: AW: Alternativer Speicherpfad
von: Andreas
Geschrieben am: 16.10.2015 08:03:39
Hallo Peter,
leider bekomme ich einen Laufzeitfehler...gibt es evtl noch andere Möglichkeiten?
Gruß
Andreas

Bild

Betrifft: AW: Alternativer Speicherpfad
von: selli
Geschrieben am: 16.10.2015 12:23:02
hallo andreas,
kannst du den fehler konkretisieren?
gruß
selli

Bild

Betrifft: AW: Alternativer Speicherpfad
von: Daniel
Geschrieben am: 18.10.2015 12:05:04
Hi
nutze die DIR-funktion um festzustellen, ob ein Speicherpfad vorhanden ist:

dim strPfad as string
...
If Dir("L:\Marketing\New", vbDirectory) <> "" Then
    strPfad = ""L:\Marketing\New\"
ElseIf Dir("R:\Marketing\New", vbDirectory) <> "" Then
    strPfad = "R:\Marketing\New\"
Else
    Msgbox "Speicherpfad nicht gefunden.", vbcritical
    Exit Sub
end if

du kannst auch folgendes verwenden, um alle möglichen Verzeichnisse durchzutesten:
dim Vz as long
dim strPfad as long
for Vz = Asc("E:") to Asc("Z")
   if dir(chr(Vz) & ":\Marketing\New", vbDirectory) <> "" then
        strPfad = chr(Vz) & ":\Marketing\New\"
        Exit for
   end if
next
if Vz > Asc("Z") then
    Msgbox "Verzeichnis nicht vorhanden.", vbCritical
    Exit sub
End if

...
Gruss Daniel

Bild

Betrifft: AW: Alternativer Speicherpfad
von: Andreas
Geschrieben am: 20.10.2015 16:16:31
Hallo,
Danke für die Antworten.
Bin zur Zeit nicht im Büro und kann die Lösungsansätze nicht austesten.
Werde aber kurz Rückmeldung geben, sobald ich es testen konnte.
Danke nochmal!

Bild

Betrifft: AW: Alternativer Speicherpfad
von: Andreas
Geschrieben am: 21.10.2015 16:02:35
Vielen Dank! Hat funktioniert!

 Bild

Beiträge aus den Excel-Beispielen zum Thema "S-Verweis mit Und Funktion"