Seite 1 von 1

Tabellenname im Makro

Verfasst: Mi, 13.04.2005 18:14
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

Verfasst: Mi, 13.04.2005 19:05
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

Verfasst: Mi, 13.04.2005 20:16
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