Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
464to468
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
464to468
464to468
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

save Workbook Path

save Workbook Path
06.08.2004 07:26:12
helena
Guten Morgen
habe ein kleines Problem, möchte File unter dem Path speichern in dem ich mich bereits befinde und wenn möglich in der MSG BOX auch den Pfad anzeigen lassen
Dim neuName As String
neuName = InputBox("Unter welchem Namen soll die Datei gespeichert werden?")
ActiveWorkbook.SaveAs ThisWorkbook.path " neuName ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
MsgBox " Die Datei wurde unter ?\ " & neuName & " gespeichert !", vbibformation
Vielen Dank für Lösungsansatz
gruss helena

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: save Workbook Path
06.08.2004 07:34:51
Harald
Hallo Helena,
Dein Ansatz ist schon gut, es fehlt nur das Tüpfelchen auf dem i:

Sub test()
Dim neuName As String
neuName = InputBox("Unter welchem Namen soll die Datei gespeichert werden?")
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & neuName & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
MsgBox " Die Datei wurde unter " & ThisWorkbook.Path & neuName & ".xls gespeichert !", vbInformation
End Sub

Gruß Harald
Nachtrag
06.08.2004 07:38:11
Harald
Hallo Helena, es geht vielleicht viel einfacher. Da der Pfad ja schon stimmt, brauchst Du zum Speichern nur den Namen anzugeben:

Sub test()
Dim neuName As String
neuName = InputBox("Unter welchem Namen soll die Datei gespeichert werden?")
ActiveWorkbook.SaveAs Filename:=neuName & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
MsgBox " Die Datei wurde unter " & ThisWorkbook.Path & "\" & neuName & ".xls gespeichert !", vbInformation
End Sub

Gruß Harald
Anzeige
kleines Problem
helena
Hallo Harald

Sub testopen()
Workbooks.Open ThisWorkbook.Path & "\works_für_Konfig.xls"
End Sub


Sub testclose()
Dim neuName As String
neuName = InputBox("Unter welchem Namen soll die Datei gespeichert werden?")
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & neuName & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
MsgBox " Die Datei wurde unter " & ThisWorkbook.Path & neuName & ".xls gespeichert !", vbInformation
End Sub

siehe oben wie ich File öffne, es funktioniert, wenn ich aber während der Arbeit den
Pfad wechsle ändert der Pfad, kehre ich zum File zurück und speichere wird File in
falschen Pfad gespeichert, das öffnen findet immer via Testopen und dieser Pfad
muss auch beim speichern erhalten bleiben.
DANKE
gruss helena
Anzeige
AW: kleines Problem
Harald
Hallo Helena,
dann musst Du aber auch den Pfad-String richtig zusammensetzen:
ThisWorkbook.path liefert z.B. "c:\temp", wenn Du das mit dem Namen der Datei verkettest, entsteht so etwas wie "c.\tempneuName.xls"
Also muss es heißen:
ThisWorkbook.Path & "\" & neuName & ".xls"
Habe ich damit die Frage richtig verstanden?
Gruß Harald
AW: kleines Problem
helena
Hallo Harald
mit verketten ist mir klar habe ich gesehen
meine Frage ist anders, ich arbeite im File, während der Arbeit
wechsle ich kurz den Pfad zb. nach D:\Daten, kehre zurück zu Excel
mache weiter nun bleibt der Pfad D:\Daten erhalten und nicht mehr
mein ursprünglicher PFAD wo mein Worksfile liegt und auch gespeichert
werden soll, denke müsste beim öffnen den Pfad in Variable ablegen und mit
diesem beim Speichern weiterarbeiten.
Denke oder hoffe verständlich
gruss helena
Anzeige
AW: kleines Problem
06.08.2004 09:13:35
Harald
Hallo Helena,
dazu nimmst Du ein Autostart makro, welches beim Öffnen des Workbooks automatisch losläuft. Z.B. diesen Code im VBA-Editor in "Diese Arbeitsmappe" (NICHT Module!) schreiben:
Option Explicit

Private Sub Workbook_Open()
MsgBox Workbook.Path
End Sub

Statt der MsgBox speicherst Du natürlich den Pfad in einer Public deklarierten Variablen.
Gruß Harald
AW: kleines Problem
Dr.
Hi Helena,
leg Dir doch beim Workbook_open den aktuellen Pfad in eine Variable und lies sie am Schluss wieder aus.
AW: kleines Problem
helena
Ja so wollte ich es eigentlich, bzw. so müsste es lösbar sein
aber wie

Private Sub Workbook_Open()
Dim mypfad as ?
mypfad=Workbook.Path
End Sub

Danke für Hilfe, natürlich auch an Harald
gruss helena
Anzeige
AW: kleines Problem
Dr.
as String sollte klappen!
AW: kleines Problem
06.08.2004 09:35:29
Nepumuk
Und wenn du die Variable noch als Public in einem normalen Modul deklarierst, da steht nach der End Sub Anweisung auch noch was drin.
Gruß
Nepumuk
Danke werde es testen (oT)
helena
.
noch ein Problem Nepumuk
helena
Hallo
meinst du so
in dieser Mappe

Private Sub Workbook_Open()
Dim mypfad As String
mypfad = ThisWorkbook.Path
End Sub

in Modul
sub test()
Public mypfad As String
Workbooks.Open = mypfad & "\works_für_Konfig.xls"
....
Danke für Hilfe und Ergänzung
gruss helena
AW: noch ein Problem Nepumuk
Ulf

Private Sub Workbook_Open()
mypfad = ThisWorkbook.Path
End Sub

in Modul
''Public- Variable müssen im Deklarationsteil, noch vor der ersten Sub/Function stehen
Public mypfad As String
sub test()
Workbooks.Open = mypfad & "\works_für_Konfig.xls"
End Sub
Ulf
Anzeige
AW: noch ein Problem Nepumuk
06.08.2004 12:34:47
Nepumuk
Hallo Helena,
wenn du eine öffentliche Variable mit dem selben Namen lokal deklarierst, wird die lokale Variable benutzt. Öffentliche Variable müssen in Standardmodulen außerhalb von Prozeduren deklariert werden. Ich habe dir mal ein Beispiel gamacht, damit du siehst, was gemeint ist.
https://www.herber.de/bbs/user/9304.xls
Gruß
Nepumuk
leider noch ein Problem Nepumuk
helena
es kommt im Modul Fehlermeldung, bei Workbooks.open
das Argument ist nicht Optional ?
könntst du dies bitte noch anschauen, die Variable funktioniert
jetzt denke ich.
https://www.herber.de/bbs/user/9308.xls
hier ist nochmals das Muster mit Ergänzung
Option Explicit
Public mypfad As String

Sub testopen()
Workbooks.Open = mypfad & "\works_für_Konfig.xls"
End Sub

Danke für Hilfe, hoffe das hinzubekommen
gruss helena
Anzeige
AW: leider noch ein Problem Nepumuk
06.08.2004 13:41:57
Nepumuk
Hallo Helena,
ohne das =
Workbooks.Open mypfad & "\works_für_Konfig.xls"
Gruß
Nepumuk
noch was kleines
helena
Nepumuk
warum ist beim zweiten mal Code ausführen die Public Var leer ?
Code einmal ausführen i.O, beim Workbook open fülle ich doch die Variable
und warum ist Sie beim zweiten mal Makro laufen lassen leer ?
DANKE für Info
gruss helena
AW: noch was kleines
06.08.2004 14:23:48
Nepumuk
Hallo Helena,
öffentlich Variable sind nicht 100% stabil. Da das öffnen der anderen Mappe aber immer aus dieser Mappe erfolgt, kannst du auf dies verzichten und gleich:
Workbooks.Open Thisworkbook.Path & "\works_für_Konfig.xls"
verwenden. Oder sehe ich das falsch?
Gruß
Nepumuk
Anzeige
STOP
06.08.2004 14:38:29
Nepumuk
Hallo Helena,
ich habe jetzt erst die ersten Beiträge gelesen. Wie wechselst du das Verzeichnis? Indem du die Mappe in einem anderen Ordner speicherst? Dann benötigen wir einen anderen Ansatz.
Gruß
Nepumuk
AW: STOP
helena
Hallo Nepumuk
die zwei nötigen Files liegen je nach Mitarbeiter (MA)an einem anderen Platz
das Masterfile öffnet der MA in seinem Verzeichnis, arbeitet daran
beim speichern der Daten öffnet er das 'works.xls' kopiert die Blätter
in dieses File und gibt beim Speichern dem 'worksfile' einen neuen Name
alles findet also immer im gleichen Verzeichnis statt aber eben nicht
bei allen MA gleich. Hatte dies bisher so gelöst das ich Pfade manuell je MA und Begebenheiten eingegeben habe, also jedes mal Macroänderung .... Puhhhh
gruss helena
Anzeige
AW: neuer Ansatz
06.08.2004 14:49:10
Nepumuk
Hallo Helena,
das einfachste ist es, den Pfad in der Registry zu speichern. Die geänderten Makros sehen dann so aus:


Private Sub Workbook_Open()
    SaveSetting "Helena", "Excel", "Pfad", ThisWorkbook.Path
End Sub
Sub testopen()
    Workbooks.Open GetSetting("Helena", "Excel", "Pfad") & "\works_für_Konfig.xls"
End Sub
Sub testclose()
    Dim neuName As String
    neuName = InputBox("Unter welchem Namen soll die Datei gespeichert werden?")
    ActiveWorkbook.SaveAs Filename:=GetSetting("Helena", "Excel", "Pfad") & "\" & neuName & ".xls"
    MsgBox " Die Datei wurde unter " & ActiveWorkbook.FullName & " gespeichert !", vbInformation
End Sub


Damit kann dann nichts mehr passieren.
Gruß
Nepumuk
Anzeige
AW: neuer Ansatz
helena
Hallo Nepumuk
dies ist natürlich ganz neuer Ansatz, für das einbinden und testen
und einiger massen klar zu sehen benötige ich etwas mehr Zeit, zum Glück
gibt es einen "Freitag" und dann das Wochenende, falls ich nicht klar sehe
melde ich mich an gewohnter Stelle (HEF = herbers excel forum)
DANKE
gruss helena

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige