HERBERS Excel-Forum - das Archiv
Speichern ohne Pfadangabe
Heinz

Hallo Leute
Ich habe einen Code der mir die Arbeitsmappe unter einer Pfadangabe speichert.
Nun möchte ich aber die Arbeitsmappe auf mehrere PC's benutzen.
Könnte man das " MyPfad" nicht weglassen,so das es einfach ohne Pfadeingabe gespeichert wird ?
Gruß
Heinz
Option Explicit
Sub cp_wbk()
Dim wbk_neu As Workbook
Dim wbk_alt As Workbook
Dim MyFileName As String
Dim MyPfad As String
Dim MyShape As Shape
Set wbk_alt = ActiveWorkbook
Set wbk_neu = Workbooks.Add
wbk_alt.Activate
MyPfad = "D:\Promente\Test.Stunden\16.12.09\" 'anpassen
MyFileName = "Stundenliste - " & Range("B3") & " " & _
Month(Range("A6")) & " " & Year(Range("A6"))
wbk_alt.Sheets(1).Copy before:=wbk_neu.Sheets(1)
For Each MyShape In wbk_neu.Sheets(1).Shapes
If MyShape.AlternativeText <> "Neues Monat anlegen" Then MyShape.Delete
Next
wbk_neu.SaveAs MyPfad & MyFileName
wbk_neu.Close
End Sub

AW: Speichern ohne Pfadangabe
Hajo_Zi

Hallo Heinz,
ich vermute dann wird dort gespeichert wo die letzte Datei gespeichert wurde und ob das gut ist?

und wo soll dann gespeichert werden?
Björn

Hallo Heinz,
Könnte man das " MyPfad" nicht weglassen,so das es einfach ohne Pfadeingabe gespeichert wird ?
wie soll das gehen? Hast du schon mal was "ohne Pfad" gespeichert? Wo steht es dann? Im Nirwana?
Ich verstehe die Frage vielleicht auch falsch, aber jede Datei braucht auch einen Speicherort.
Den musst Du eben ermitteln, mitgeben, auswählen lassen oder wie auch immer, aber ohne wird es wohl kaum gehen.
Gruß
Björn B.
AW: An Hajo & Björn
Heinz

Hallo Ihr beiden
Sorry habe vergessen.
Ja Hajo hat recht.
Es sollte immer in den selben Ordner gespeichert werden.
Danke Heinz
AW: Speichern ohne Pfadangabe
Tino

Hallo,
du kannst die feste Pfadangabe z. Bsp. durch diese ersetzen.
MyPfad = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
Jetzt ist es der Pfad wo sich die Excel Datei befindet.
Gruß Tino
AW: Danke an Hajo - Björn & Tino
Heinz

Es funktioniert so wie Tino vorgeschlagen.
Recht herzlichen Dank, für Eure Hilfe.
Gruß
Heinz
AW: Danke an Hajo - Björn & Tino
Klaus

… oder einfacher und kürzer:
MyPfad = ThisWorkbook.Path & Application.PathSeparator
Gruß
Klaus
AW: Danke an Hajo - Björn & Tino
Heinz

Hallo Klaus
Ja so funktioniert es auch.
Danke & Gruß
Heinz
AW: Danke an Hajo - Björn & Tino
Tino

Hallo,
sehr gefährlich diese Variante,
ich habe es schon oft gehabt, dass anstatt bei einem Laufwerk z. Bsp.
C: auf einmal C:\ zurückgegeben wurde aber bei C:\Ordner dieser Separator wieder gefehlt hat.
Daher verwende ich nur die von mir vorgeschlagene Version.
Gruß Tino
AW: Danke an Hajo - Björn & Tino
Heinz

Hallo Tino
Danke für deinen Hinweis,werde ihn befolgen.
Gruß
Heinz
AW: Danke an Hajo - Björn & Tino
Klaus

Hallo Tino,
danke, ein guter Hinweis.
Aber dann einigen wir uns auf
MyPfad = IIf(Right$(ThisWorkbook.Path, 1) = Application.PathSeparator, ThisWorkbook.Path, ThisWorkbook.Path & Application.PathSeparator)
wg der gemischten Umgebung ...
:-)
Gruß
Klaus
ok ist recht...
Tino

Hallo,
obwohl "\" Standard ist.
Gruß Tino
Aber nicht bei http:///-Dateizugriffen! orT
Luc:-?

Gruß Luc :-?
PS: Apache...
ist ja auch nicht Lokal. oT.
Tino