Speichern per Button mit Zellwertern als Name

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Speichern per Button mit Zellwertern als Name

Re: Speichern per Button mit Zellwertern als Name

von F3K Total » So, 15.01.2012 11:18

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.
Jo, da hat balu völlig recht!
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
4.) Den Buttons auf dem Reiter Ereignisse die Makros s_get_folder und s_save_document neu zuordnen, weil sich der Modulname geändert hat.

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

Re: Speichern per Button mit Zellwertern als Name

von balu » So, 15.01.2012 10:46

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

Re: Speichern per Button mit Zellwertern als Name

von F3K Total » Sa, 14.01.2012 19:03

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
Dateianhänge
me.ods
(10.26 KiB) 50-mal heruntergeladen

Nach oben