Tabellenname im Makro

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

Moderator: Moderatoren

lutkas
*
Beiträge: 15
Registriert: Do, 07.04.2005 12:59

Tabellenname im Makro

Beitrag von lutkas »

Ich benötige ein Makro, mit dem ich die Tabellen in Calc anhand ihres Namens aurufen kann. Folgendes habe ich in Abwandlung der funktionierenden Makros erfolglos versucht.
sub FF
dim document as Object
dim Sheet as Object
document=ThisComponent
Sheet=document.Sheets.getByName("April")
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "April"
args1(0).Value = 9
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
end sub
Ich habe keine Ahnung, wie der untere Teil richtig aussehen muß.
Wahrscheinlich ist die Frage zu simpel, denn ich habe zwar vieles ausprobiert, aber alles erfolglos
Frank Lauer
***
Beiträge: 88
Registriert: Mi, 30.07.2003 18:06
Wohnort: Wiesloch

Beitrag von Frank Lauer »

Hallo lutkas,

versuch mal folgendes:

sub Main

dim document as Object
dim Sheet as Object
dim sName as string

sName = InputBox("Bitte Sheet wählen!","Sheetwahl","")
document=ThisComponent
'Nur weiter wenn auch sheet da!
If document.sheets.hasByName(sName) Then
Sheet=document.Sheets.getByName(sName)
else
MsgBox("Sheet nicht vorhanden")
exit Sub
end if
'Sheet holen
ThisComponent.CurrentController.SetActiveSheet(sheet)

end sub
OOo 2.1 , Win XP
lutkas
*
Beiträge: 15
Registriert: Do, 07.04.2005 12:59

Beitrag von lutkas »

Hallo Frank,

vielen Dank für die schnelle Antwort. Klappt hervorragend, habe es aber für meine Bedürfnisse etwas abgewandelt:
sub Juni

dim document as Object
dim Sheet as Object
document=ThisComponent
Sheet=document.Sheets.getByName("Juni")
'Sheet holen
ThisComponent.CurrentController.SetActiveSheet(sheet)

end sub
In der Beta-Version von 2.0 klappt es mit den Hyperlinks innerhalb des Dokumentes nicht so richtig, deswegen benötige ich dazu das Makro. Dank Deiner Hilfe bin ich wieder ein Stück weiter.

Muß mich noch mal einklinken.
Ich überlege gerade, inwieweit es möglich ist Franks Makro so umzugestalten, daß eine Auswahl aus mehreren Einträgen möglich ist. Damit bräuchte ich nur noch ein Makro und nicht für jede Tabelle ein anderes.

Schönen Abend noch
lutkas
Antworten