Problem mit aufgezeichnetem Makro

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

Moderator: Moderatoren

popofz
***
Beiträge: 53
Registriert: Mi, 12.01.2011 16:53

Problem mit aufgezeichnetem Makro

Beitrag von popofz »

Hallo OO Fans

Ich habe mit dem Recorder ein Makro aufgezeichnet mit dem ich ein Arbeitsblatt Namens Belegeliste aufrufe um darin dann ein anderes Makro aus zu führen. Das Problem an dem Makro ist jedoch, dass sich das Makro nicht den Namen des Arbeitsblattes merkt sondern die Nr. von der stelle wo sich das Arbeitsblatt befindet. Wird also z. B. vor dem Arbeitsblatt, im dem ein Makto ausgeführt werden soll ein neues Arbeitsblatt eingefügt, wird das falsche Blatt ausgewählt. Kann mir jemand das nachfolgende Makro so abändern dass es in jedem Fall das Arbeitsblatt mit dem Namen Belegeliste auf ruft?

Code: Alles auswählen

sub U_BelegelisteAuswaehlen
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 = "Nr"
args1(0).Value = 3

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

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

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
end sub
Und wie würde das nachfolgende Makro aussehen wenn man die Auswahl des Arbeitsblattes dierekt in das Makro aufnehmen würde das dort ausgeführt werden soll?

Code: Alles auswählen

sub U_HinterLetzeEingabe
rem ----------------------------------------------------------
rem  Makro von Karolus aus Open Office Forum
rem  http://de.openoffice.info/viewtopic.php?f=18&t=65704
rem ----------------------------------------------------------
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$C$7"

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

dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args2())

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args2())
end sub
Mfg. Peter
_________________
Moderation: Thema verschoben von OOo Calc nach OOo Basic und Java, wo alle Themen zur individuellen Programmierung hingehören.—lorbass, Moderator
WIN 7 64bit, WIN XP, OO 4.1.1
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Problem mit aufgezeichnetem Makro

Beitrag von Karolus »

Hallo

Code: Alles auswählen

sub U_HinterLetzeEingabe

dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "Belegliste.$C$7"

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

dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args2())

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args2())
end sub
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
popofz
***
Beiträge: 53
Registriert: Mi, 12.01.2011 16:53

Re: Problem mit aufgezeichnetem Makro

Beitrag von popofz »

Hallo Karolus

Ein dickes Danke für Deine schnelle Hilfe. Klappt einwandfrei.

Nun habe ich noch ein anderes Problem das nur diese Datei betrifft die ich beigefügt habe. Egal welchen der drei Button ich selektiere, es kommt immer eine Fehlermeldung.
Test2_Kasse_2014.ods
(56.41 KiB) 70-mal heruntergeladen
Mfg. Peter
WIN 7 64bit, WIN XP, OO 4.1.1
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Problem mit aufgezeichnetem Makro

Beitrag von clag »

hallo popofz,

du hast es schlicht versäumt den Buttons die passenden Makros zuzuweisen,
Guckst du hier noch einmal !
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Problem mit aufgezeichnetem Makro

Beitrag von Karolus »

Das ist ja auch schon vier Tage her, da kann man schonmal vergessen wies geht 8)
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
popofz
***
Beiträge: 53
Registriert: Mi, 12.01.2011 16:53

Re: Problem mit aufgezeichnetem Makro

Beitrag von popofz »

Hallo Ihr 2

Wie sagt man manchmal dazu? Alzheimer läst grüßen?
Also hinter der Fehlermeldung habe ich nicht erwartet dass damit die Makros gemeint sind. Die müssen irgendwie beim Kopieren u. Umbenennen der Datei verloren gegangen sein.
Danke für die Hilfe.

Mfg. Peter
WIN 7 64bit, WIN XP, OO 4.1.1
Antworten