Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1184to1188
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
Inhaltsverzeichnis

save As erweitern

save As erweitern
Lorenz
Hall Excelianer
mit "Me.SaveAs Filename:=sFilePath & sFileName" wir erfolgreich eine Datei angelegt(gespeichert).
Ich würde nun bei existieren der Datei ein "überschreiben" verhindern. stattdessen soll ein (1) bzw (nächsthöhere) an den Dateinamen angehängt werden. Hat vielleicht jemand nen Hinweis zu einem Beispiel?
Oder vielleicht ´nen Codeschnipssel zu dem Ereignis?
Danke Lorenz

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: save As erweitern
30.10.2010 17:39:21
Josef

Hallo Lorenz,
so?
Sub test()
  Dim strPath As String, strFile As String, strTmp As String, strName
  Dim lngIndex As Long
  
  strPath = "E:\Forum"
  
  strFile = "xxx.xlsm"
  
  strName = strFile
  
  strPath = IIf(Right(strPath, 1) = "\", strPath, strPath & "\")
  
  
  strTmp = Dir(strPath & strFile, vbNormal)
  
  Do While strTmp <> ""
    lngIndex = lngIndex + 1
    strName = Left(strFile, InStrRev(strFile, ".") - 1) & "(" & CStr(lngIndex) & ")" _
      & Right(strFile, InStrRev(strFile, ".") + 1)
    strTmp = Dir(strPath & strName, vbNormal)
  Loop
  
  ThisWorkbook.SaveAs strPath & strName
  
  
End Sub


Gruß Sepp

Anzeige
AW: save As erweitern
30.10.2010 18:51:44
Lorenz
Hallo Sepp
vorerst Danke für den Code!
Ich habe ihn wie folgt bei meinem Produkt eingebaut:
sFilePath = "D:\MeinVerzeichnis\"
sFileName = "DateiName"
strPath = sFilePath
strFile = sFileName
strName = strFile
strPath = IIf(Right(strPath, 1) = "\", strPath, strPath & "\")
strTmp = Dir(strPath & strFile, vbNormal)
Do While strTmp ""
lngIndex = lngIndex + 1
strName = Left(strFile, InStrRev(strFile, ".") - 1) & "(" & CStr(lngIndex) & ")" & Right(strFile, InStrRev(strFile, ".") + 1)
strTmp = Dir(strPath & strName, vbNormal)
Loop
ThisWorkbook.SaveAs strPath & strName
Die Darstellung des Dateinamens sieht so aus: DateiName(1)DateiName, DateiName(2)DateiName
Rechts neben der Klammer soll der Dateiname nicht aufscheinen. Habe ich deinen Code falsch eingebaut, oder hast du die Aufgabe missverstanden?
Grüße
Lorenz
Anzeige
AW: save As erweitern
30.10.2010 19:00:54
Josef

Hallo Lorenz,
bei deinem Dateinamen fehlt die erweiterung! (.xls)

Gruß Sepp

AW: save As erweitern
30.10.2010 19:16:04
Lorenz
Hallo Sepp
das ".xlsb" habe ich unabsichtlich unterschlagen. Natürlich lautet es richtig
"sFileName = "DateiName"
Gruß
Lorenz
na eben!
30.10.2010 19:21:08
Josef

Hallo Lorenz,
sFileName = "DateiName" da fehlt wieder die erweiterung!
Also der Code wurde von mir getestet und funktioniert.

Gruß Sepp

Anzeige
AW: na eben!
30.10.2010 19:35:20
Lorenz
Hallo Sepp!
Mittlerweile auch wieder getestet natürlich mit ".xls", und funktionierend.
Hatte wahrscheinlich ähnlichen Kopierfehler?
Danke nochmals & Grüße Lorenz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige