Hilfe für LibreOffice 24.8
Der Dienst ToolbarButton ermöglicht das Abrufen von Informationen zu den Symbolleistenschaltflächen, die in einer bestimmten Symbolleiste verfügbar sind. Mit diesem Service ist es möglich:
Die Sichtbarkeit von Symbolleistenelementen umzuschalten.
Den Befehl auszuführen, der einer bestimmten Symbolleistenschaltfläche zugeordnet ist.
Vor der Verwendung des Dienstes ToolbarButton muss die Bibliothek ScriptForge geladen oder importiert werden:
Der Dienst ToolbarButton wird mit der Methode ToolbarButtons des Dienstes Toolbar aufgerufen.
Das folgende Beispiel ruft die Namen aller in der Symbolleiste verfügbaren Schaltflächen ab.
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    arrToolbarButtons = oToolbar.ToolbarButtons()
    MsgBox SF_String.Represent(arrToolbarButtons)
  Die Verwendung der Methode ToolbarButtons ohne Argumente ruft eine Matrix mit allen verfügbaren Symbolleistenschaltflächennamen ab.
Das folgende Beispiel schaltet die Sichtbarkeit der Schaltfläche in der Symbolleiste um:
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    oToolbarButton = oToolbar.ToolbarButtons("Drucken")
    oToolbarButton.Visible = Not oToolbarButton.Visible
  Der als Argument an die Methode ToolbarButtons übergebene Schaltflächenname ist der lokalisierte Schaltflächenname, der im Dialog festgelegt ist.
Inaktive Symbolleisten verfügen über keine Schaltflächen. Daher wird die Symbolleiste durch den Aufruf der Methode ToolbarButtons sichtbar gemacht.
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    arr_toolbar_buttons = toolbar.ToolbarButtons()
    bas.MsgBox(repr(arr_toolbar_buttons))
  
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    toolbar_button = toolbar.ToolbarButtons("Drucken")
    toolbar_button.Visible = not toolbar_button.Visible
  | Name | Schreibgeschützt | Typ | Beschreibung | 
|---|---|---|---|
| Caption | Ja | String | Gibt den Namen der Schaltfläche zurück. | 
| Height | Ja | Long | Gibt die Höhe der Schaltfläche in Pixeln zurück. | 
| Index | Ja | Long | Gibt den Index der Schaltfläche in der übergeordneten Symbolleiste zurück. | 
| OnClick | Nein | String | Der UNO-Befehl oder das UNO-Skript, das ausgeführt wird, wenn die Schaltfläche gedrückt wird. Lesen Sie die Wiki-Seite Scripting Framework URI Specification, um mehr darüber zu erfahren, wie Sie eine URI-Zeichenfolge definieren. | 
| Parent | Ja | Dienst Toolbar | Gibt eine Dienstinstanz Toolbar zurück, die der übergeordneten Symbolleiste der aktuellen Symbolleistenschaltfläche entspricht. | 
| TipText | Nein | String | Legt den Text des Tooltipps fest, der angezeigt wird, wenn der Benutzer mit der Maus über die Symbolleistenschaltfläche fährt. | 
| Visible | Nein | Boolean | Legt fest, ob die Symbolleistenschaltfläche sichtbar ist oder nicht. | 
| Width | Ja | Long | Gibt die Breite der Schaltfläche in Pixeln zurück. | 
| X | Ja | Long | Gibt die X-Koordinate (horizontal) der oberen linken Ecke der Schaltfläche in Pixeln zurück. | 
| Y | Ja | Long | Gibt die Y-Koordinate (vertikal) der oberen linken Ecke der Schaltfläche in Pixeln zurück. | 
Ein häufiger Anwendungsfall der oben beschriebenen Eigenschaften X und Y ist das Öffnen eines Popup-Menüs an der Position, an der sich die Symbolleistenschaltfläche befindet.
Angenommen, Sie erstellen das folgende Skript und verknüpfen es mit einer Schaltfläche namens „Meine Schaltfläche“ in der Symbolleiste Standard. Wenn Sie darauf klicken, wird ein Popup-Menü mit drei Optionen angezeigt, die der Benutzer auswählen kann.
    Sub OpenPopupMenu()
        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        oButton = oToolbar.ToolbarButtons("Meine Schaltfläche")
        oPopup = CreateScriptService("SFWidgets.PopupMenu", , oButton.X, oButton.Y + oButton.Height)
        oPopup.AddItem("Eintrag A", "A")
        oPopup.AddItem("Eintrag B", "B")
        oPopup.AddItem("Eintrag C", "C")
        strResponse = oPopup.Execute(False)
        MsgBox "Ihre Wahl: " & strResponse
    End Sub
  
    def open_popup_menu(args=None):
        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbutton = toolbar.ToolbarButtons("Meine Schaltfläche")
        popup = CreateScriptService("PopupMenu", None, toolbutton.X, toolbutton.Y + toolbutton.Height)
        popup.AddItem("Eintrag A", "A")
        popup.AddItem("Eintrag B", "B")
        popup.AddItem("Eintrag C", "C")
        response = popup.Execute(False)
        bas.MsgBox(f"Ihre Wahl: {response}")
  | Liste der Methoden im Dienst "ToolbarButton" | ||
|---|---|---|
| 
 | 
 | |
Führt den mit der Symbolleistenschaltfläche verknüpften Befehl oder das Skript aus.
Diese Methode gibt den Wert zurück, der vom ausgeführten Befehl oder Skript zurückgegeben wird.
Verwenden Sie die Eigenschaft OnClick, um den Befehl oder das Skript zu bestimmen, der ausgeführt werden soll. Wenn der Befehl/das Skript keinen Wert zurückgibt, wird Null zurückgegeben.
svc.Execute(): any
Das folgende Beispiel führt die Schaltfläche aus der Symbolleiste aus:
      oDoc = CreateScriptService("Document", ThisComponent)
      oToolbar = oDoc.Toolbars("standardbar")
      oToolbarButton = oToolbar.ToolbarButtons("Drucken")
      oToolbarButton.Execute()
    
      bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    toolbar_button = toolbar.ToolbarButtons("Drucken")
    toolbar_button.Execute()