Makro: Speichern unter neu generiertem Namen

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: Makro: Speichern unter neu generiertem Namen

Re: Makro: Speichern unter neu generiertem Namen

von RS » Mo, 17.03.2008 12:20

Hi,

zu Deinem Code kann ich leider nichts beitragen, zu Deiner letzten Frage allerdings ein paar Links, die Dir vielleicht generell weiterhelfen:

http://www.re-solutions.de/ooo/makros/

http://www.ooomacros.org/

http://www.pitonyak.org/oo.php

plus vielleicht:

http://www.office-center-epj.de/

sowie im OO-Wiki:

http://www.ooowiki.de/KategorieMakro

oder im englischsprachigen OO-Forum:

http://www.oooforum.org/
und
http://user.services.openoffice.org/en/forum/

Gruß,

Rebecca

Makro: Speichern unter neu generiertem Namen

von fiz » Mo, 17.03.2008 12:00

Hallo Leute,

leider bin ich im programmieren nicht bewandert, habe aber des öfteren schon mit aufgezeichneten Makros gearbeitet.

Ich benötige nun ein Makro, das ein Formular unter einem Namen "X" abspeichert und das Formular ausdruckt.
Hierbei ist X ein String, der aus dem Feld S1 des Formulars ausgelesen wird.
Meine beste Lösung, die ich bisher habe, ist die, dass das Makro zunächst das Formular unter einem Dummy-namen in das gewünschte Verzeichnis (Pfad) speichere, (damit sich oO für den späteren Befehl "speichern unter" schon mal das richtige Verzeichnis "merkt"). Dann legt das Makro den String aus S1 in die Zwischenablage und führt den Befehl "Speichern unter" aus. Dann muß ich manuell "Einfügen" und das Speichern starten.
Also kurz gesagt:
Makro starten (mit einem Button)
String ins geöffnete Speichern-Dialogfenster pasten
- Speichern-Button drücken

Das macht drei Klicks wo ich eigentlich nur einen bräuchte. Außerdem ist das ganze so kompliziert, dass das Makro langsam ist.

Zum gruseln hier der unendlich komplizierte aufgezeichnete Code

Code: Alles auswählen

sub SelektionEnde
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$S$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$E$8"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())

rem ----------------------------------------------------------------------
dim args5(2) as new com.sun.star.beans.PropertyValue
args5(0).Name = "URL"
args5(0).Value = "file:///P:/Selektion/Zeitschriften/Einfügen.ods"
args5(1).Name = "FilterName"
args5(1).Value = "calc8"
args5(2).Name = "SelectionOnly"
args5(2).Value = true

dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args5())

rem ----------------------------------------------------------------------
dim args6(2) as new com.sun.star.beans.PropertyValue
args6(0).Name = "URL"
args6(1).Name = "FilterName"
args6(1).Value = "calc8"
args6(2).Name = "SelectionOnly"
args6(2).Value = true

dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args6())

rem ----------------------------------------------------------------------
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = "ToPoint"
args7(0).Value = "$B$7"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args7())

end sub

Kann mir hier jemand weiterhelfen?

Abgesehen davon, gibt es irgendwo eine gute web-site auf der man eine übersichtliche Makrosammlung für Standardprolemchen findet?

Gruß,
fiz

Nach oben