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

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
opiWahn
***
Beiträge: 91
Registriert: Mo, 21.03.2011 15:47
Wohnort: zw. KL und NW

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

Beitrag 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
Zuletzt geändert von opiWahn am Do, 10.11.2011 11:17, insgesamt 1-mal geändert.
Grüße
opiWahn
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

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

Beitrag von F3K Total »

Hi OpiWahn,
schau mal hier:
viewtopic.php?f=18&t=24218

Gruß R
Benutzeravatar
opiWahn
***
Beiträge: 91
Registriert: Mo, 21.03.2011 15:47
Wohnort: zw. KL und NW

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

Beitrag von opiWahn »

supi - vielen Dank. Das sollte mir beim weiterstricken ne Ecke helfen :D
Grüße
opiWahn
Benutzeravatar
opiWahn
***
Beiträge: 91
Registriert: Mo, 21.03.2011 15:47
Wohnort: zw. KL und NW

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

Beitrag 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 :)
Grüße
opiWahn
Antworten