Makro das Automatisch unter Name und in Dateipfad Speichert

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

Moderator: Moderatoren

mikeleb
*******
Beiträge: 1315
Registriert: Fr, 09.12.2011 16:50

Re: Makro das Automatisch unter Name und in Dateipfad Speichert

Beitrag von mikeleb »

Hallo,

angenommen der Dateiname steht in der Zelle B1 und der Pfad in B2 des 1. Tabellenblattes, dann kann es im einfachsten Fall so gehen:

Code: Alles auswählen

sub speichern

	odoc=thiscomponent
	oblatt=odoc.sheets(0)
	sname=oblatt.getcellrangebyname("b1").string
	spfad=oblatt.getcellrangebyname("b2").string
	surl=converttourl(spfad & sname & ".ods")
	dim dummy()
	odoc.storeasurl(dateiurl,dummy())
	
end sub
Gruß,
mikeleb
mikeleb
*******
Beiträge: 1315
Registriert: Fr, 09.12.2011 16:50

Re: Makro das Automatisch unter Name und in Dateipfad Speichert

Beitrag von mikeleb »

Hallo,

mein Fehler (das kommt davon, wennn man copy&paste ...)

Die letzte Zeile muss natürlich

Code: Alles auswählen

odoc.storeasurl(surl,dummy())
lauten.
Gruß,
mikeleb
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Makro das Automatisch unter Name und in Dateipfad Speichert

Beitrag von F3K Total »

Hallo,
ändere die Zeile

Code: Alles auswählen

surl=converttourl(spfad & sname & ".ods")
in

Code: Alles auswählen

surl=converttourl(spfad & "\" & sname & ".ods")
Gruß R
kry2354
Beiträge: 3
Registriert: Mi, 16.09.2020 15:02

Re: Makro das Automatisch unter Name und in Dateipfad Speichert

Beitrag von kry2354 »

Hallo Jano,

ich nehme an KW ist die Kalenderwoche und steht in einer Zelle.
dann kannst du doch die Zelle im Makro abfragen.

Etwa so
odoc=thiscomponent
oblatt=odoc.sheets(0)
kw = oblatt.getCellRangeByName("B1") ' <---------- KW steht in B1
' kw0 = kw.String ' <---------- falls in B1 ein Name steht

und dann in Dateinamen schreiben. Etwa so

rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///c:/temp/Dokumente/" & "Wochenbeleg" & "_" & kw & ".ods"
args1(1).Name = "FilterName"
args1(1).Value = "calc8"

Gruß kry
Antworten