LibreOffice 25.2 laguntza
Menu zerbitzua LibreOffice dokumentu-leiho bateko menu-barraren menuak sortu eta kentzeko erabili daiteke. Menu-sarrera bakoitza script batekin edo UNO komando batekin lotu daiteke. Zerbitzuak honako kapazitateak eskaintzen ditu:
Sarrera pertsonalizatuak, kontrol-laukiak, biratze-botoiak eta bereizleak dituzten menuen sorrera.
Menu-elementuak ikonoekin eta aholkuekin apaintzea.
Zerbitzu honekin sortutako menuak dokumentu-leiho jakin baterako soilik daude erabilgarri. Ez dira dokumentuan edo aplikazio-ezarpen gisa gordetzen. Dokumentua ixten eta irekitzen bada, menu-barraren ezarpen lehenetsiak berrezarriko dira.
Math formulak, Calc grafikoak edo beste edozein OLE objektu dokumentu baten barruan editatzen direnean, LibreOfficek objektuaren arabera moldatzen du menu-barra. Hori gertatzen denean, Menu zerbitzuaren bidez sortutako menuak kendu egiten dira eta ez dira berrezartzen OLE objektuaren edizioa amaitu arte.
Menu zerbitzua erabiltzeko, ScriptForge liburutegia kargatu edo inportatu behar da:
Menu zerbitzuaren instantzia bat sortzeko, deitu Document zerbitzuaren CreateMenu metodoari. Beheko kode-zatiak Nire menua izeneko menu bat sortzen du uneko dokumentu-leihoan, eta bi sarrera gehitzen dizkio, A elementua eta B elementua.
    Sub CreateMenu()
        GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
        Dim oDoc as Object, oMenu as Object
        Set oDoc = CreateScriptService("Document")
        Set oMenu = oDoc.CreateMenu("Nire menua")
        With oMenu
            .AddItem("A elementua", Command := "About")
            .AddItem("B elementua", Script := "vnd.sun.star.script:Standard.Module1.ItemB_Listener?language=Basic&location=application")
            .Dispose()
        End With
    End Sub
  Menua sortu ondoren, gomendagarria daDispose metodoari deitzea Menu zerbitzu-instantziak erabili dituen baliabideak askatzeko.
Goiko adibidean, A elementua .uno:About UNO komandoari lotuta dago, eta B elementua My Macros edukiontziko Standard liburutegiaren Module1 moduluan definitutako ItemB_Listener scriptari lotuta dago.
Hurrengo adibideak B elementua sakatzean deituko den ItemB_Listener funtzioa definitzen du. Entzule horrek zera egiten du, Sub elementuari pasatutako argumentu-katea zatitzen du eta mezu-koadro batean erakusten du.
    Sub ItemB_Listener(args As String)
        ' Entzuleari pasatutako argumentu-katea prozesatzen du
        Dim sArgs as Object
        sArgs = Split(args, ",")
        MsgBox "Menu-izena: "   & sArgs(0) & Chr(13) & _
               "Menu-elementua: "   & sArgs(1) & Chr(13) & _
               "Elementuaren IDa: "     & sArgs(2) & Chr(13) & _
               "Elementuaren egoera: " & sArgs(3)
    End Sub
  Goiko adibidean erakutsi den moduan, script bati lotutako menu-sarrerek komaz bereizitako kate-argumentu bat jasotzen dute, honako balioekin:
Menuaren goi mailako izena.
Hautatutako menu-sarreraren kate IDa.
Hautatutako menu-sarreraren zenbakizko IDa.
Menu-elementuaren uneko egoera. Kontrol-laukien eta biratze-botoien kasuan da erabilgarria. Elementua markatuta badago, "1" balioa itzuliko da; bestela, "0" itzuliko da.
Goiko adibideak Python lengoaian ere idatzi daitezke, honako moduan:
    from scriptforge import CreateScriptService
    
    def create_menu(args=None):
        oDoc = CreateScriptService("Document")
        oMenu = oDoc.CreateMenu("My Menu")
        oMenu.AddItem("Item A", command="About")
        oMenu.AddItem("Item B", script="vnd.sun.star.script:my_macros.py$item_b_listener?language=Python&location=user")
        oMenu.Dispose()
  
    def item_b_listener(args):
        bas = CreateScriptService("Basic")
        s_args = args.split(",")
        msg = f"Menu-izena: {s_args[0]}\n"
        msg += f"Menu-elementua: {s_args[1]}\n"
        msg += f"Elementuaren IDa: {s_args[2]}\n"
        msg += f"Elementuaren egoera: {s_args[3]}"
        bas.MsgBox(msg)
  | Izena | Irakurtzeko soilik | Mota | Deskribapena | 
|---|---|---|---|
| ShortcutCharacter | Ez | String | Menu-elementu baten atzitze-tekla definitzeko erabiltzen den karakterea. Karaktere lehenetsia "~" da. | 
| SubmenuCharacter | Ez | String | Menu-elementuak nola habiaratzen diren definitzen duen karakterea edo katea. Karaktere lehenetsia ">" da. | 
Azpimenuak dituen menu bat sortzeko, erabili SubmenuCharacter propietatean definitutako karakterea menua sortzen denean, non kokatuko den definitzeko. Adibidez, begiratu hurrengo menuen/azpimenuen hierarkia.
    ' Item A
    ' Item B > Item B.1
    '          Item B.2
    ' ------ (line separator)
    ' Item C > Item C.1 > Item C.1.1
    '                     Item C.1.2
    ' Item C > Item C.2 > Item C.2.1
    '                     Item C.2.2
    '                     ------ (line separator)
    '                     Item C.2.3
    '                     Item C.2.4
  Beheko kodeak azpimenuen ">" karaktere lehenetsia darabil goian definitutako menuen/azpimenuen hierarkia sortzeko:
    oMenu.AddItem("Item A")
    oMenu.AddItem("Item B>Item B.1")
    oMenu.AddItem("Item B>Item B.2")
    oMenu.AddItem("---")
    oMenu.AddItem("Item C>Item C.1>Item C.1.1")
    oMenu.AddItem("Item C>Item C.1>Item C.1.2")
    oMenu.AddItem("Item C>Item C.2>Item C.2.1")
    oMenu.AddItem("Item C>Item C.2>Item C.2.2")
    oMenu.AddItem("Item C>Item C.2>---")
    oMenu.AddItem("Item C>Item C.2>Item C.2.3")
    oMenu.AddItem("Item C>Item C.2>Item C.2.4")
  --- katea menuetako edo azpimenuetako marra bereizleak definitzeko erabiltzen da.
| Menu zerbitzuaren metodoen zerrenda | ||
|---|---|---|
Kontrol-lauki bat txertatzen du menuan. Txertatutako elementua identifikatzen duen osoko balio bat itzultzen du.
svc.AddCheckBox(menuitem: str, opt name: str, opt status: bool, opt icon: str, opt tooltip: str, opt command: str, opt script: str): int
menuitem: Menuan bistaratuko den testua definitzen du. Argumentu horrek elementuak menuaren barruan duen hierarkia ere definitzen du, azpimenuen karakterearen bidez.
name: Menu-elementua identifikatzeko erabiltzen den kate-balioa. Aukera lehenetsia menu-hierarkiaren azken osagaia erabiltzea da.
status: Menua sortzen denean elementua hautatuta dagoen ala ez definitzen du (Balio lehenetsia = False).
icon: Bistaratuko den ikonoaren bide-izena eta izena, ezkerreko bide-bereizlerik gabe. Erakutsiko den ikonoa erabilitako ikono multzoaren araberakoa izango da.
tooltip: Aholku gisa bistaratuko den testua.
command: UNO komandoaren izena, .uno: aurrizkirik gabe. Komando-izena existitzen ez bada, ez da ezer gertatuko.
script: Elementuan klik egitean exekutatutako den Basic edo Python script baten URIa.
command eta script argumentuek elkar baztertzen dute; beraz, horietako bakarra ezarri daiteke menu-elementu bakoitzean.
Irakurri scriptgintzako lan-markoaren URI espezifikazioa script argumentuan erabilitako URI sintaxiari buruz gehiago jakiteko.
      ' .uno:Paste komandoari lotutako menu-sarrera
      oMenu.AddCheckBox("Item A", Status := True, ToolTip := "Paste values", Command := "Paste")
      ' Dokumentuan biltegiratutako Standard.Module1.MyListener izeneko Basic scripta exekutatzen du
      oMenu.AddCheckBox("Item B", Status := False, Script := "vnd.sun.star.script:Standard.Module1.MyListener?language=Basic&location=document")
      ' Erabiltzailearen scripten karpetan gordetako myScripts.py fitxategian dagoen MyListener izeneko Python scripta exekutatzen du
      oMenu.AddCheckBox("Item C", Status := True, Script := "vnd.sun.star.script:myScripts.py$MyListener?language=Python&location=user")
    
      oMenu.AddCheckBox("Item A", status=True, tooltip="Paste values", command="Paste")
      oMenu.AddCheckBox("Item B", status=False, script="vnd.sun.star.script:Standard.Module1.MyListener?language=Basic&location=document")
      oMenu.AddCheckBox("Item C", Status=True, Script="vnd.sun.star.script:myScripts.py$MyListener?language=Python&location=user")
    Etiketa-sarrera bat txertatzen du menuan. Txertatutako elementua identifikatzen duen osoko balio bat itzultzen du.
svc.AddItem(menuitem: str, opt name: str, opt icon: str, opt tooltip: str, opt command: str, opt script: str): int
menuitem: Menuan bistaratuko den testua definitzen du. Argumentu honek elementuak menuan duen hierarkia ere definitzen du, horretarako azpimenuen karakterea erabiliz.
name: Elementuan klik egitean itzuliko den kate-balioa. Modu lehenetsian, menu-hierarkiaren azken osagaia erabiliko da.
icon: Bistaratuko den ikonoaren bide-izena eta izena, ezkerreko bide-bereizlerik gabe. Erakutsiko den ikonoa erabilitako ikono multzoaren araberakoa izango da.
tooltip: Aholku gisa bistaratuko den testua.
command: UNO komandoaren izena, .uno: aurrizkirik gabe. Komandoa existitzen ez bada, ez da ezer gertatuko.
script: Elementuan klik egitean exekutatuko den Basic edo Python script baten URIa.
      oMenu.AddItem("A elementua", Tooltip := "Deskribapen-mezu bat")
    
      oMenu.AddItem("A elementua", tooltip = "Deskribapen-mezu bat")
    Aukera-botoi bat txertatzen du menuan. Txertatutako elementua identifikatzen duen osoko balio bat itzultzen du.
svc.AddRadioButton(menuitem: str, opt name: str, opt status: str, opt icon: str, opt tooltip: str, opt command: str, opt script: str): int
menuitem: Menuan bistaratuko den testua definitzen du. Argumentu honek elementuak menuaren barruan duen hierarkia ere definitzen du, horretarako azpimenuen karakterea erabiliz.
name: Elementuan klik egin ondoren itzuliko den kate-balioa. Balio lehenetsia menu-hierarkiaren azken osagaia da.
status: Menua sortzen denean elementua hautatuta dagoen ala ez definitzen du. (Balio lehenetsia = False).
icon: Bistaratuko den ikonoaren bide-izena eta izena, ezkerreko bide-bereizlerik gabe. Erakutsiko den ikonoa erabilitako ikono multzoaren araberakoa izango da.
tooltip: Aholku gisa bistaratuko den testua.
command: UNO komando baten izena, .uno: aurrizkirik gabe. Komandoa existitzen ez bada, ez da ezer gertatuko.
script: Elementuan klik egitean exekutatuko den Basic edo Python script baten URIa.
      oMenu.AddRadioButton("Item A", Name := "A", Status := True)
    
      oMenu.AddRadioButton("Item A", name="A", status=True)