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
Gelöst: Zugriff auf Button in einem Sheet
Moderator: Moderatoren
Gelöst: Zugriff auf Button in einem Sheet
Zuletzt geändert von JSK am Di, 22.04.2008 08:47, insgesamt 1-mal geändert.
Re: Zugriff auf Button in einem Sheet
Hallo Jürgen,
hier mal ein Beispiel:
Hilft das weiter?
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
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Zugriff auf Button in einem Sheet
Hallo,
danke für die Info.
Da ich die Position des Buttons verändern wollte ging es über den folgenden Weg:
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
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
Gruß
Jürgen