Hi,
anbei ein Beispiel.
Es gibt zwei Knöpfe, "Ordner wählen" und "speichern", an jedem hängt ein Makro, was tut, was Du möchtest.
Gruß R
Speichern per Button mit Zellwertern als Name
Moderator: Moderatoren
Re: Speichern per Button mit Zellwertern als Name
- Dateianhänge
-
- me.ods
- (10.26 KiB) 50-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Speichern per Button mit Zellwertern als Name
Hallo me,
bitte lese und beachte doch diesen Beitrag von mir. Und wenn Du dann trotzdem nicht weiter kommst, weil Du noch nicht alles verstanden hast, kannst Du dich ruhig wieder melden.
Und bitte merk dir das Makrofragen generell hier in das Unterforum OOo Basic und Java gehören.
Und noch ein Tipp.
Bitte sorge doch dafür das wir auf eine Beispieldatei von dir zugreifen können, damit wir nicht erst mühsam deine Schilderung nachbauen müssen. Denn das macht einerseits nicht viel Spaß, und anderseits kann es auch zu missversatändnissen führen.
Gruß
balu
bitte lese und beachte doch diesen Beitrag von mir. Und wenn Du dann trotzdem nicht weiter kommst, weil Du noch nicht alles verstanden hast, kannst Du dich ruhig wieder melden.
Und bitte merk dir das Makrofragen generell hier in das Unterforum OOo Basic und Java gehören.
Und noch ein Tipp.
Bitte sorge doch dafür das wir auf eine Beispieldatei von dir zugreifen können, damit wir nicht erst mühsam deine Schilderung nachbauen müssen. Denn das macht einerseits nicht viel Spaß, und anderseits kann es auch zu missversatändnissen führen.
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: Speichern per Button mit Zellwertern als Name
Jo, da hat balu völlig recht!balu hat geschrieben:Und bitte merk dir das Makrofragen generell hier in das Unterforum OOo Basic und Java gehören.
Und noch ein Tipp.
Bitte sorge doch dafür das wir auf eine Beispieldatei von dir zugreifen können, damit wir nicht erst mühsam deine Schilderung nachbauen müssen. Denn das macht einerseits nicht viel Spaß, und anderseits kann es auch zu missversatändnissen führen.
Ich habe da trotzdem mal was vorbereitet, du mußt allerdings einige Änderungen vornehmen:
1.) Die unten angehängten Makros ins Module1 kopieren, das "alte" s_save_document überschreiben.
2.) Das Module1 in SaveDocument umbenennen
3.) Im Entwurfsmodus:
- dem Button mit der Aufschrift Ordner wählen den Namen cmdFolder geben
- dem Button mit der Aufschrift speichern den Namen cmdSaveAs geben
Wenn Du nun alles richtig gemacht hast, passiert Folgendes:
- Das Dokument wird unter dem angegebenen Namen gespeichert.
- Es wird nicht sichtbar erneut geladen.
- Erst werden das Basic Modul SaveDocument und dann die Buttons gelöscht.
- Das Dokument wird gespeichert.
Viel Erfolg, Gruß R
Code: Alles auswählen
sub s_save_document
osheet=Thiscomponent.currentcontroller.activesheet
ocellUrl=osheet.getcellrangebyname("H3")
scellUrl=ocellUrl.string
nsheet=ocellUrl.celladdress.sheet
scellTitel=replace(replace(osheet.getcellrangebyname("C3").string," ","_"),"/","_")
scellStart="_"+replace(osheet.getcellrangebyname("F3").string,".","")
scellEnde="_"+ replace(osheet.getcellrangebyname("G3").string,".","")
sUrl=scellUrl+scellTitel+scellStart+scellEnde+".ods"
thiscomponent.storetourl(sUrl,array())
S_delete_controls(sURL,nsheet)
msgbox "Die Datei '"+scellTitel+scellStart+scellEnde+".ods' wurde gespeichert"
end sub
sub s_delete_controls(sURL,nsheet)
Dim scontrolnames(1,1) as variant
Dim Args(1) as New com.sun.star.beans.PropertyValue
'hier die zu löschenden Elemente angeben:
scontrolnames(0,0)="cmdFolder"
scontrolnames(0,1)="cmdSaveAs"
Args(0).Name = "FilterName"
Args(0).Value ="scalc: Text - txt - csv (StarOffice Calc)"
Args(1).Name = "Hidden"
Args(1).Value = True
odoc = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, Args())
'Makros entfernen
olibs = odoc.BasicLibraries
olibs.loadlibrary("Standard")
wait 100
olib = odoc.BasicLibraries.Standard
olib.removebyname("SaveDocument")
olibs.storeLibraries(true)
'Buttons entfernen
odoc.currentcontroller.setformdesignmode(true)
osheet= odoc.sheets(nsheet)
opage = osheet.drawpage
oforms = opage.forms
oform = oforms.Formular
for i=0 to oform.count -1
for k=0 to uBound(scontrolnames)
if oform(i).name = scontrolnames(0,k) then
scontrolnames(1,k)= true
endif
next k
next i
for k=0 to uBound(scontrolnames)
if scontrolnames(1,k)= true then
oform.removebyname(scontrolnames(0,k))
endif
next k
odoc.currentcontroller.setformdesignmode(false)
odoc.storeasurl(sUrl,array())
odoc.close -1
end sub
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO