Seite 1 von 1

[Gelöst][Makro] If Datei exist ... name001.odt

Verfasst: Di, 08.11.2011 16:37
von opiWahn
Hallo,

Wie kann ich vor dem Speichern überprüfen ob eine Datei mit gleichem Namem existiert und dieser dann ggf. eine fortlaufende Nummer anhängen, z.B. name001.odt?

Code: Alles auswählen

Sub Save_as_ODT

proofAllOptGrp1

	if iError > 0 then
		MsgBox "Sie haben noch "& iError &" Fehler zu beheben", 0+48, "Achtung"
	exit Sub 
	
	else
				
	oform = thisComponent.drawpage.forms.getbyindex(0)
	aText = oForm.getByName("txt_oName")

		if aText.text = "" then
			datname = "blanc"
		else
			datname = aText.text
		end if
		
	path = "C:/Roiger/Auftraege/"
	extension = ".odt"
	odturl = "file:///" + path + datname + extension
	thisComponent.storeToURL(odturl, Array())
	
clearForm

	endif
		
End Sub

Re: [Makro] If Datei exist ... name001.odt

Verfasst: Di, 08.11.2011 20:22
von F3K Total
Hi OpiWahn,
schau mal hier:
viewtopic.php?f=18&t=24218

Gruß R

Re: [Makro] If Datei exist ... name001.odt

Verfasst: Di, 08.11.2011 21:17
von opiWahn
supi - vielen Dank. Das sollte mir beim weiterstricken ne Ecke helfen :D

Re: [Gelöst][Makro] If Datei exist ... name001.odt

Verfasst: Do, 10.11.2011 11:24
von opiWahn
Hab's jetzt etwas anders gelöst als ursprünglich geplant:
Ich überprüfe zunächst ob eine Datei mit diesem Namen vorhanden ist und überlasse dem User die Entscheidung zum Abbruch oder zum Überschreiben der Vorhandenen Datei. Eindeutig werden die Dateien dadurch, daß ich den Dateinamen mit Auftragsnummer_Kundenname.odt zusammen baue.
Dann läßt sich das sogar später in der Ablage noch nach Auftragsnummern sortieren :)

Code: Alles auswählen

Sub Save_as_ODT
Dim Speichern

proofAllOptGrp1

	if iError > 0 then
		MsgBox "Sie haben noch "& iError &" Fehler zu beheben", 0+48, "Achtung"
	exit Sub 
	
	else
				
	oform = thisComponent.drawpage.forms.getbyindex(0)
	aText = oForm.getByName("txt_oName")
	aNum = oForm.getByName("txt_oKey")

		if aText.text = "" then
			datname = "blanc"
		else
			datname = aNum.text & "_" & aText.text
		end if
		
	path = "C:/Roiger/Auftraege/"
	extension = ".odt"
	odturl = "file:///" + path + datname + extension
	
		if FileExists (odturl) then
		Speichern =	MsgBox ("Eine Datei mit dem Namen" & CHR$(10) & odturl & CHR$(10) & "existiert bereits!" _
				    & CHR$(10) & "Soll sie überschrieben werden?",4+48, "Achtung")
				    
				       If Speichern = 7 then
    				   MSGbox "Datei wurde nicht gespeichert", 0, "Information"
     				   exit sub
   					   end if
		end if
		
	thisComponent.storeToURL(odturl, Array())
	msgbox "Datei wurde gespeichert", 0, "Information"
	
clearForm

	endif
		
End Sub
Wenn jemand eine elegantere Lösung hat - gerne :)