Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Datei mit unbekanntem Namen speichern
#1
Hallo zusammen,

ich habe ein Problem mit dem speichern und schließen einer Datei, deren Namen sich gelegentlich ändert.

Ich öffnen, ändern, speichern und schließe diese jedoch über ein Macro in einer anderen Datei.

Probleme habe ich aber nur beim speichern und schließen. Eine Datei, mit zum Teil unbekanntem Namen, kann ich öffnen:

Das öffnen funktioniert:

Code:
'************************wird benötigt zum prüfen ob Datei bereits geöffnet ist / funktioniert mit freigegeben Dateien*************
Function WB_open(ByVal WB As String) As Boolean
  For Each WBK In Workbooks
      If WBK.Name = WB Then WB_open = True: Exit For
  Next WBK
End Function

Sub Mappeöffnen1()

'**************prüfen ob File bereits geöffnet ist************
iPath = "D:\aaaa\bbbbb\cccccc\dddddd\"
iFile = "WKEDOHM ?????.xlsm"
If Not WB_open(iFile) Then Workbooks.Open (iPath & iFile)

'************************************************************


Das speichern jedoch nicht:
Code:
Workbooks("WKEDOHM ?????.xlsm").Saved = True

Workbooks("WKEDOHM ?????.xlsm").Close


Hierbei stehen die "?" für die unbekannten, sich immer ändernden Werte. Wie gesagt funktioniert das bei mir nicht beim speichern und schließen der Datei.


Mein Ansatz:
1) es gibt eventuell doch eine Möglichkeit eine unbekannte Datei zu speichern, schließen
2) eine Public Variable erstellen in der der Name, nach öffnen der Datei steht, und dieser Wert dann beim speichern und schließen genommen wird.


Bei Punkt 2 habe ich das so gemacht:

Das steht in einem Modul und wird aus einem Userform heraus ausgelöst:
Code:
Public Dateiunbekannt

'************************wird benötigt zum prüfen ob Datei bereits geöffnet ist / funktioniert mit freigegeben Dateien*************
Function WB_open(ByVal WB As String) As Boolean
  For Each WBK In Workbooks
      If WBK.Name = WB Then WB_open = True: Exit For
  Next WBK
End Function

Sub Mappeöffnen1()

'**************prüfen ob File bereits geöffnet ist************
iPath = "D:\aaaa\bbbbb\cccccc\dddddd\"
iFile = "WKEDOHM ?????.xlsm"
If Not WB_open(iFile) Then Workbooks.Open (iPath & iFile)

'************************************************************

Dateiunbekannt = ActiveWorkbook.Name

End Sub

Wenn ich mir aber die Variable "Dateiunbekannt" anschaue, dann steht da der Dateiname in dem ich arbeite, also in dem das Userform geöffnet ist drin. Nicht der Dateiname von der Exceldatei die ich (über das Userform Macro) gerade geöffnet haben (WKEDOHM ?????.xlsm)?

Jemand ein Tipp für mich?

Danke und Gruß.
Antworten Top
#2
Hallo,
Sub Mappeöffnen1()

'**************prüfen ob File bereits geöffnet ist************
iPath = "D:\aaaa\bbbbb\cccccc\dddddd\"
iFile = Dir(iPath & "WKEDOHM ?????.xlsm")
If Not WB_open(iFile) Then Workbooks.Open iPath & iFile

'************************************************************
End Sub

Workbooks(iFile).Close True
Gruß Uwe
Antworten Top
#3
Smile 
Super, vielen Dank.

....was so ein paar klammern und Zeichen ausmachen können Wink

Wieso das aber jetzt funktioniert ist mir allerdings nicht klar...

"Dir" in (iFile = Dir(iPath & "WKEDOHM ?????.xlsm")) bedeutet was genau?

Ich dachte, bei "Dir" wird dann der Pfad und Dateiname gespeichert.

Danke und Gruß.
Antworten Top
#4
Hallo,

Dir gibt einen Dateinamen zurück. Prüfe es einfach mit
MsgBox iFile
Setze den Cursor auf Dir und drücke F1 für weitere Erklärungen. Wink

Gruß Uwe
Antworten Top
#5
Hallo Uwe,

hatte es natürlich bereits geprüft Wink

Nur auf die Erklärung mit F4 bin ich noch nicht gekommen.

Danke und erledigt.
Antworten Top
#6
Hi

(27.03.2018, 11:42)S05 schrieb: Nur auf die Erklärung mit F4 bin ich noch nicht gekommen.

ist ja auch F1. :21:
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste