Seite 1 von 1
Gelöst: Zugriff auf Button in einem Sheet
Verfasst: Mo, 21.04.2008 19:29
von JSK
Hallo,
weiß jemand wie man auf einen Button zugreift, der innerhalb eines Sheets platziert ist?
GetControl gibt es ja leider nur innerhalb eines Dialogs und nicht innerhalb eines Sheets.
Gruß�ür�n
Re: Zugriff auf Button in einem Sheet
Verfasst: Mo, 21.04.2008 20:07
von turtle47
Hallo Jürgen,
hier mal ein Beispiel:
Code: Alles auswählen
Sub Button_ansprechen
Dim vButton, vForm
Dim oForms
oForms = ThisComponent.CurrentController.ActiveSheet.DrawPage.Forms
vForm=oForms.getByIndex(0)
vButton = vForm.getByName("PushButton")
vButton.Label = "OpenOffice.org" 'Button Titel
vButton.enabled=False 'Button deaktivieren
End Sub
Hilft das weiter?
Jürgen
Re: Zugriff auf Button in einem Sheet
Verfasst: Di, 22.04.2008 08:44
von JSK
Hallo,
danke für die Info.
Da ich die Position des Buttons verändern wollte ging es über den folgenden Weg:
Code: Alles auswählen
oDoc = StarDesktop.CurrentComponent
oSheet = oDoc.Sheets.GetByIndex(1)
oDrawPage = oSheet.DrawPage
For nIdx = 0 to oDrawPage.Count - 1
oShape = oDrawPage(nIdx)
If HasUnoInterfaces(oShape, "com.sun.star.drawing.XControlShape") Then
If oShape.Control.Name = "Button1" Then
oPoint.X = 2500
oPoint.Y = 10900
oSize.Width = 800
oSize.Height = 400
oShape.Size = oSize
oShape.Position = oPoint
ElseIf oShape.Control.Name = "Button2" Then
...
End If
End If
Next nIdx
Bei mir sind die Buttons etwas störrisch und verändern ihre Größe und Position auf dem Formular mit der Zeit. Mit dem obigen Code werden Sie jetzt bei jedem Laden des Dokuments neu positioniert. Damit bleiben sie jetzt endlich dort, wo sie hingehören.
Gruß
Jürgen