LibreOffice 25.2 laguntza
DialogControl zerbitzuak Basic-en elkarrizketa-koadroen editorearekin definitutako elkarrizketa-koadro baten kontrolak kudeatzen ditu. Uneko zerbitzuaren instantzia bakoitzak elkarrizketa-koadro bateko kontrol bakun bat ordezkatzen du.
Fokua elkarrizketa-koadroko kontrolek bistaratzen dituzten balioak eskuratzen eta ezartzen ezarrita dago. Formatua atzitzeko, XControlModel and XControlView propietateak erabiltzen dira.
Ikusi nola DialogControl.Value propietatearen eduki bakarra aldatzen den kontrol motaren arabera.
Arreta berezia eskaini zaie zuhaitz-kontrol motako kontrolei. Erraza da zuhaitz bat betetzea, bai adarrez adar, bat adar sorta oso bat aldi berean. Zuhaitz-kontrol bat estatikoki zein dinamikoki bete daiteke.
SFDialogs.DialogControl zerbitzuak erlazio estua du SFDialogs.Dialog zerbitzuarekin.
DialogControl zerbitzua erabili baino lehen, ScriptForge liburutegia kargatu edo inportatu behar da:
DialogControl zerbitzuari lehendik dagoen Dialog zerbitzu-instantzia batetik deitu behar zaio, Controls() metodoa erabilita. Elkarrizketa-koadroa SFDialogs.Dialog zerbitzuarekin hasi behar da.
      Dim myDialog As Object, myControl As Object
      Set myDialog = CreateScriptService("SFDialogs.Dialog", "GlobalScope", myLibrary, DialogName)
      Set myControl = myDialog.Controls("myTextBox")
      myControl.Value = "Elkarrizketa-koadroaren hasierako ordua: " & Now()
      myDialog.Execute()
      ' ... kontrolen uneko balioak prozesatzen ditu
      myDialog.Terminate()
   
     from time import localtime, strftime
     dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', lib_name, dlg_name)
     text = dlg.Controls('myTextBox')
     text.Value = "Elkarrizketa-koadroaren hasierako ordua: " + strftime("%a, %d %b %Y %H:%M:%S", localtime())
     dlg.Execute()
     # ... kontrolen uneko balioak prozesatzen ditu
     dlg.Terminate()
   DialogControl zerbitzuaren instantziak SFDialogs.DialogEvent zerbitzuaren bidez eskuratu daitezke, betiere elkarrizketa-koadroa Dialog zerbitzuarekin hasieratu bada. Beheko adibidean, oControl aldagaiak kontrol-gertaera abiarazi duen DialogControl instantzia dauka.
      Sub aControlEventHandler(ByRef poEvent As Object)
          Dim oControl As Object
          Set oControl = CreateScriptService("SFDialogs.DialogEvent", poEvent)
          ' ...
      End Sub
  Edo Python bidez:
     def control_event_handler(event: uno):
         oControl = CreateScriptService('SFDialogs.DialogEvent', event)
         # ...
  Kontuan izan aurreko adibideetan "SFDialogs." aurrizkia ez dela derrigorrezkoa erabiltzea.
Kontroleko gertaeretarako maneiatzaileak sortzean, praktika ona izan ohi da erroreak azpierrutinan bertan maneiatzea. Adibidez, demagun botoia sakatzen denean beheko gertaera-maneiatzaileari deitzen zaiola.
    Sub OnButtonClicked(ByRef oEvent As Object)
    On Local Error GoTo Catch
        Dim oControl As Object
        oControl = CreateScriptService("DialogEvent", oEvent)
        ' Prozesatu gertaera
        Exit Sub
    Catch:
        MsgBox SF_Exception.Description
        SF_Exception.Clear
    End Sub
  Deitu SF_Exception.Clear funtzioari elkarrizketa-koadroaren exekuzioa amaitu ondoren errorea hedatu ez dadin nahi baduzu.
Python lengoaian, erabili jatorrizko try/except blokeak salbuespenak maneiatzeko, honela:
    def on_button_clicked(event=None):
        try:
            oControl = CreateScriptService("DialogEvent", event)
            # Prozesatu gertaera
        except Exception as e:
            # Beheko "bas" objektua Basic zerbitzuaren instantzia bat da
            bas.MsgBox(str(e))
  DialogControl zerbitzua honako kontrol motetarako dago erabilgarri:
| • Button | • FixedLine | • ListBox | • TableControl | 
| Izena | Irakurtzeko soilik | Mota | Honi aplikagarria: | Deskribapena | 
|---|---|---|---|---|
| Border | Bai | String | Button, … | The Border property refers to the surrounding of the control: "3D", "FLAT" or "NONE". | 
| Cancel | Ez | Boolean | Button | Komando-botoi batek 'Utzi' botoi baten portaera duen ala ez zehazten du. | 
| Caption | Ez | String | Button, CheckBox, FixedLine, FixedText, GroupBox, Hyperlink, RadioButton | Kontrolari lotutako testua zehazten du. | 
| ControlType | Bai | String | Dena | Goian zerrendatutako motetako bat. | 
| CurrentNode | Ez | UNO | TreeControl | Zuhaitz-kontrolean hautatutako goreneko uneko nodoa. Begiratu XmutableTreeNode Application Programming Interface (API) dokumentazioan informazio xeheagorako. | 
| Default | Ez | Boolean | Button | Komando-botoi bat botoi lehenetsia ('Ados') den ala ez zehazten du. | 
| Enabled | Ez | Boolean | Dena | Kontrola kurtsorearekin atzitu daitekeen ala ez zehazten du. | 
| Format | Ez | String | DateField, TimeField, FormattedField (irakurtzeko soilik) | Datak eta orduak bistaratzeko formatua zehazten du. Kate hauetako bat izan behar du: Datetarako: "Standard (short)", "Standard (short YY)", "Standard (short YYYY)", "Standard (long)", "DD/MM/YY", "MM/DD/YY", "YY/MM/DD", "DD/MM/YYYY", "MM/DD/YYYY" , "YYYY/MM/DD", "YY-MM-DD", "YYYY-MM-DD". Orduetarako: "24h short", "24h long", "12h short", "12h long". | 
| ListCount | Bai | Long | ComboBox, ListBox, TableControl | Zerrenda-koadro, konbinazio-koadro edo taula-kontrol baten errenkada kopurua zehazten du. | 
| ListIndex | Ez | Long | ComboBox, ListBox, TableControl | Zerrenda-koadro, konbinazio-koadro edo taula-kontrol batean zein elementu dagoen hautatuta zehazten du. | 
| Locked | Ez | Boolean | ComboBox, CurrencyField, DateField, FileControl, FormattedField, ListBox, NumericField, PatternField, TextField, TimeField | Kontrola irakurtzeko soilik den zehazten du. | 
| MultiSelect | Ez | Boolean | ListBox | Erabiltzaileak zerrenda-koadro batean hautapen anitz egin ditzakeen zehazten du. | 
| Name | Bai | String | Dena | Kontrolaren izena. | 
| Page | Ez | Integer | Dena | Elkarrizketa-koadro batek orri bat baino gehiago izan dezake. Erabiltzaileak banan banan joan daiteke batetik bestera. Elkarrizketa-koadroaren objektuaren 'Page' propietateak koadroaren zein orri dagoen aktibo definitzen du. Kontrol baten 'Page' propietateak kontrola elkarrizketa-koadroko zein orritan egongo den ikusgai definitzen du. | 
| Parent | Bai | Dialog | Dena | SFDialogs.Dialog klase-objektuaren instantzia gurasoa. | 
| Picture | Ez | String | Button, ImageControl | Zehaztutako kontrolean bistaratuko den bit-mapa edo beste motaren bateko grafikoa duen fitxategi-izena zehazten du. Fitxategi-izenak ScriptForge.FileSystem zerbitzuaren FileNaming atributuarekin bat etorri behar du. | 
| RootNode | Bai | UNO | TreeControl | Erro-nodorik behekoena ordezkatzen duen objektu bat (normalean erro-nodo bakar bat dago). Begiratu XmutableTreeNode Application Programming Interface (API) dokumentazioan informazio xeheagorako. | 
| RowSource | Ez | Array of strings | ComboBox, ListBox | Konbinazio-koadroan edo zerrenda-koadroan dauden datuak zehazten ditu. | 
| TabIndex | Bai | Numeric | All | The TabIndex property specifies a control's place in the tab order in the dialog. | 
| Text | Bai | String | ComboBox, FileControl, FormattedField, PatternField, TextField | Kontrolak erakusten duen testua atzitzeko aukera ematen du. | 
| TipText | Ez | String | Dena | Saguaren erakuslea kontrolaren gainean jartzen denean agertzen den aholkuaren testua zehazten du. | 
| TripleState | Ez | Boolean | CheckBox | Kontrol-laukia grisean agertu daitekeen ala ez zehazten du. | 
| URL | Ez | String | Hyperlink | The URL to open when the control is clicked. | 
| Value | Ez | Variant | Refer to Value property | |
| Visible | Ez | Boolean | Dena | Kontrola ezkutuan dagoen ala ikusgai dagoen zehazten du. | 
| XControlModel | Bai | UNO | Dena | Kontrol-eredua ordezkatzen duen UNO objektua. Begiratu APIaren dokumentazioko XControlModel eta UnoControlDialogModel informazio xeheagorako. | 
| XControlView | Bai | UNO | Dena | Kontrol-bista ordezkatzen duen UNO objektua. Begiratu APIaren dokumentazioko XControl eta UnoControlDialog informazio xeheagorako. | 
| XTreeDataModel | Bai | UNO | TreeControl | Zuhaitz-kontrolaren datu-eredua ordezkatzen duen UNO objektua. Begiratu APIaren dokumentazioko XMutableTreeDataModel informazio xeheagorako. | 
| Kontrol mota | Mota | Deskribapena | 
|---|---|---|
| Button | Boolean | Txandakatze-botoietarako soilik | 
| CheckBox | Boolearra edo osoa | 0, False: markatu gabea | 
| ComboBox | String | Hautatutako balioa. ListIndex propietatea ordezko aukera bat da. | 
| CurrencyField | Zenbakia | |
| DateField | Date | |
| FileControl | String | ScriptForge.FileSystem zerbitzuaren FileNaming propietatearen arabera formatua eman zaion fitxategi-izen bat. | 
| FormattedField | Katea edo zenbakia | |
| ListBox | Kate edo kateen matrizea | Hautatutako errenkada(k) eskalar gisa edo matrize gisa, MultiSelect atributuaren arabera. | 
| NumericField | Zenbakia | |
| PatternField | String | |
| ProgressBar | Zenbakia | Muga aurredefinituen barruan egon behar du | 
| RadioButton | Boolean | Botoi bakoitzak bere izen propioa du. Elkarrekin lotuta daude beren TAB kokaguneak elkarren albokoak badira. Aukera-botoi baten balioa True bada, erlazionatutako gainerako botoiei automatikoki False ezarriko zaie. | 
| ScrollBar | Zenbakia | Muga aurredefinituen barruan egon behar du | 
| TableControl | Array | Dimentsio bakarreko matrizea, unean hautatutako errenkadaren datuak dituena. | 
| TextField | String | Eremuan ageri den testua | 
| TimeField | Date | 
There is no Value property for GroupBox, Hyperlink, ImageControl and TreeControl dialog controls.
| Izena | Irakurtzeko soilik | Deskripzioa, Basic IDEan etiketatu den moduan | 
|---|---|---|
| OnActionPerformed | Bai | Exekutatu ekintza | 
| OnAdjustmentValueChanged | Bai | Doitzean | 
| OnFocusGained | Bai | Fokua hartzean | 
| OnFocusLost | Bai | Fokua galtzean | 
| OnItemStateChanged | Bai | Elementuaren egoera aldatzean | 
| OnKeyPressed | Bai | Tekla sakatzean | 
| OnKeyReleased | Bai | Tekla askatzean | 
| OnMouseDragged | Bai | Tekla sakatuta dagoenean sagua arrastatzean | 
| OnMouseEntered | Bai | Sagua barnean dagoenean | 
| OnMouseExited | Bai | Sagua kanpoan dagoenean | 
| OnMouseMoved | Bai | Sagua mugitzean | 
| OnMousePressed | Bai | Saguaren botoia sakatzean | 
| OnMouseReleased | Bai | Saguaren botoia askatzean | 
| OnNodeExpanded | Ez | (Ez Basic IDEan) hedatze-botoia zuhaitz-kontroleko nodo batean sakatzen denean | 
| OnNodeSelected | Ez | (Ez Basic IDEan) zuhaitz-kontroleko nodo bat hautatzen denean | 
| OnTextChanged | Bai | Testua aldatzean | 
| DialogControl zerbitzuaren metodoen zerrenda | ||
|---|---|---|
Sortu eta itzuli zuhaitzaren nodo berria, nodo guraso baten azpiko UNO objektu gisa. Begiratu XMutableTreeNode Application Programming Interface (API) dokumentazioan informazio xeheagorako.
Metodo hau elkarrizketa-koadroa bistaratu baino lehen deitu daiteke, hasierako zuhaitza eraikitzeko. Zuhaitza dinamikoki osatzeko ere deitu daiteke, bai elkarrizketa-koadro batetik bai kontrol-gertaera batetik (OnNodeExpanded gertaera erabilita).
svc.AddSubNode(parentnode: uno, displayvalue: str, opt datavalue: any): uno
parentnode: Nodo motako UNO objektu bat, com.sun.star.awt.tree.XMutableTreeNode motakoa.
displayvalue: Zuhaitzaren kontrol-laukian ageri den testua.
datavalue: Nodo berriari lotutako edozein balio. datavalue kate bat, data bat edo zenbaki bat izan daiteke. Aplikagarria ez bada, ez erabili argumentu hau.
LibreOffice Basic eta Python adibideek uneko dokumentuaren myDialog elkarrizketa-koadroa Standard liburutegitik hartzen dute.
      Dim oDlg As Object, myTree As Object, myNode As Object, theRoot As Object
      Set oDlg = CreateScriptService("Dialog",,, "myDialog")
      Set myTree = oDlg.Controls("myTreeControl")
      Set theRoot = myTree.CreateRoot("Tree top")
      Set myNode = myTree.AddSubNode(theRoot, "A branch ...")
   
     dlg = CreateScriptService('SFDialogs.Dialog', None, None, 'myDialog')
     tree = dlg.Controls('myTreeControl')
     root = tree.CreateRoot('Tree top')
     node = tree.AddSubNode(root, 'A branch ...')
   True (egia) itzultzen du nodo guraso baten mendeko azpizuhaitz bat zuhaitz-kontrol batean ongi txertatu daitekeenean. Nodo gurasok dagoeneko nodo haurrak baditu metodo honi deitu baino lehen, nodo haurrak ezabatu egingo dira.
svc.AddSubTree(parentnode: uno, flattree: any, opt withdatavalue: bool): bool
parentnode: Nodo motako UNO objektu bat, com.sun.star.awt.tree.XMutableTreeNode motakoa.
flattree: Bi dimentsiotako matrize bat, bistaratze-balioak dituen zutabeetan ordenatuta. Horrelako matrize bat bidaltzeko, erabili GetRows metodoa SFDatabases.Database zerbitzuan aplikatuta. Bistaratuko den testua duen matrize-elementu bat Empty edo Null bada, ez da azpinodo berririk sortuko eta errenkadaren gainerakoa saltatu egingo da.
      Zuhaitz laua    >>>>    Emaitza gisa sortutako azpizuhaitza
      A1	B1	C1             |__   A1	
      A1	B1	C2                   |__   B1
      A1	B2	C3                         |__  C1
      A2	B3	C4                         |__  C2
      A2	B3	C5                   |__   B2
      A3	B4	C6                         |__  C3
                             |__   A2
                                   |__   B3
                                         |__  C4
                                         |__  C5
                             |__   A3
                                   |__   B4
                                         |__  C6
   withdatavalue: Balio lehenetsia den False erabiltzen denean, flattree matrizeko zutabe bakoitzak zuhaitz-kontrolean bistaratuko diren testuak ditu. Balioa True bada, bistaratuko diren testuak (displayvalue) 0, 2, 4... zutabeetan daude eta datu-balioak (datavalue) 1, 3, 5... zutabeetan daude.
      Dim myTree As Object, theRoot As Object, oDb As Object, vData As Variant
      Set myTree = myDialog.Controls("myTreeControl")
      Set theRoot = myTree.CreateRoot("By product category")
      Set oDb = CreateScriptService("SFDatabases.Database", "/home/.../mydatabase.odb")
      vData = oDb.GetRows("SELECT [Category].[Name], [Category].[ID], [Product].[Name], [Product].[ID] " _
          & "FROM [Category], [Product] WHERE [Product].[CategoryID] = [Category].[ID] " _
          & "ORDER BY [Category].[Name], [Product].[Name]")
      myTree.AddSubTree(theRoot, vData, WithDataValue := True)
   
     SQL_STMT = "SELECT [Category].[Name], [Category].[ID], [Product].[Name], [Product].[ID] \
         FROM [Category], [Product] WHERE [Product].[CategoryID] = [Category].[ID] \
         ORDER BY [Category].[Name], [Product].[Name]"
     tree = dlg.Controls('myTreeControl')
     root = tree.CreateRoot('By Product category')
     db = CreateScriptService('SFDatabases.Database', '/home/.../mydatabase.odb')
     sub_tree = db.GetRows(SQL_STMT)
     tree.AddSubTree(root, sub_tree, withdatavalue=True)
   Zuhaitz-kontrolaren erro-nodo berri bat itzultzen du, com.sun.star.awt.tree.XMutableTreeNode motako UNO objektu mota gisa. Zuhaitz-erro berria lehendik dauden erro-nodoen aurrean txertatuko da. Begiratu XMutableTreeNode Application Programming Interface (API) dokumentazioan informazio xeheagorako.
Metodo honi elkarrizketa-koadroa bistaratu baino lehen deitu dakioke, hasierako zuhaitza eraikitzeko. Zuhaitza dinamikoki osatzeko ere deitu dakioke elkarrizketa-koadro batetik edo kontrol-gertaera batetik.
svc.CreateRoot(displayvalue: str, opt datavalue: any): uno
displayvalue: Zuhaitzaren kontrol-koadroan ageri den testua.
      Dim myTree As Object, myNode As Object
      Set myTree = myDialog.Controls("myTreeControl")
      Set myNode = myTree.CreateRoot("Tree starts here ...")
   
     tree = dlg.Controls('myTreeControl')
     node = tree.CreateRoot('Tree starts here ...')
   Zuhaitza zeharkatzen du eta, modu errekurtsiboan eta errotik hasita, irizpideren bat betetzen duen nodo bat aurkitzen du. Aski da bat etortze batekin, bai bistaratze-balioa displayvalue ereduarekin bat etortzea bai bere datu-balioa datavalue parametroarekin bat etortzea. Konparazioak maiuskulak/minuskulak kontuan hartu ditzakete edo ez. Bat datorren lehen agerraldia com.sun.star.awt.tree.XMutableTreeNode nodo motako UNO objektu gisa itzuliko da. Begiratu XMutableTreeNode Application Programming Interface (API) dokumentazioan informazio xeheagorako.
Aurkitzen ez bada, metodoak Nothing itzuliko du, IsNull() funtzio integratuarekin probatuko dena.
Metodo honi elkarrizketa-koadroa bistaratu baino lehen deitu dakioke, hasierako zuhaitza eraikitzeko. Elkarrizketa-koadro batetik edo kontrol-gertaera batetik ere deitu dakioke.
svc.FindNode(displayvalue: str = '', opt datavalue: any, casesensitive = False): uno
Bi argumentutako bat, displayvalue edo datavalue, zehaztu behar da. Biak badaude, bat etortze bakarra aski da nodoa hautatzeko..
displayvalue: Bat etortzeetarako erabiliko den eredua. Begiratu SF_String.IsLike() metodoa erabili daitezkeen balizko komodinak ezagutzeko. Zero luzerako kate baten berdina bada (modu lehenetsia), bistaratze-balioa ez da bilatuko.
casesensitive: Balio lehenetsia False da.
      Dim myTree As Object, myNode As Object
      Set myTree = myDialog.Controls("myTreeControl")
      Set myNode = myTree.FindNode("*Sophie*", CaseSensitive := True)
   
     tree = dlg.Controls('myTreeControl')
     node = FindNode('*Sophie*', casesensitive=True)
     if node is None:
         # ...
   Move the top-left corner of a dialog control to new coordinates and/or modify its dimensions. Return True if resizing was successful.
svc.Resize(opt Left: int, opt Top: int, opt Width: int, opt Height: int): bool
All distances are expressed in Map AppFont units and are measured from the top-left corner of the parent dialog. Without arguments the method resizes the control to its "preferred size", a size adjusted depending on its actual content. Missing arguments are left unchanged.
Left: The horizontal distance from the top-left corner
Top: The vertical distance from the top-left corner
Width: the horizontal width of the rectangle containing the control
Height: the vertical height of the rectangle containing the control
      Dim oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.Resize(100, 200, Height:=6000) ' Width is unchanged
    
      dlg = CreateScriptService('Dialog', None, None, 'myDialog')
      ctrl = dlg.Controls('thisControl')
      ctrl.Resize(300, 200, 1500)  # Height is unchanged
    Ezarri fokua kontrolean. True itzuliko du fokuratzea ongi gauzatu bada.
Metodo honi sarritan elkarrizketa-koadro batetik edo kontrol-gertaera batetik deitzen zaio.
svc.SetFocus(): bool
      Dim oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.SetFocus()
    
      dlg = CreateScriptService('Dialog', None, None, 'myDialog')
      ctrl = dlg.Controls('thisControl')
      ctrl.SetFocus()
    TableControl emandako datuekin betetzen du. Aurretik dauden datu guztiak garbituko dira argumentu gisa pasatu diren datu berriak txertatu baino lehen.
Elkarrizketa-koadroari TableControl gehitzen bazaio, posible da Basic IDEa erabiltzea zutabe- eta errenkada-goiburukoak taulan erakutsiko diren ala ez definitzeko. TableControl elementuak zutabe- edota errenkada-goiburukoak baditu, emandako datu-matrizearen lehen zutabea edota errenkada taula-goiburukoak sortzeko etiketa modura erabiliko dira.
Metodoak True itzultzen du arrakasta duenean.
svc.SetTableData(dataarray: any[0..*, 0..*], widths: int[0..*], alignments: str, RowHeaderWidth = 10): bool
dataarray: Taulan sartuko diren datuak, matrizeen matrize gisa adierazita Basic lengoaian eta tuplen tupla gisa Pythonen. Datuek zutabeen zein errenkaden goiburukoak izan behar dituzte TableControl baten bidez bistaratuko badira.
widths: Array containing the relative widths of each column. In other words, widths = (1, 2) means that the second column is twice as wide as the first one. If the number of values in the array is smaller than the number of columns in the table, then the last value in the array is used to define the width of the remaining columns.
alignments: Zutabe bakoitzeko lerrokatzeak definitzen ditu, kate gisa, non karaktere bakoitza "L" (ezkerra), "C" (erdia), "R" (eskuina) or " " (zuriunea, lehenetsia, horrek esan nahi du ezkerra kateentzako eta eskuina zenbakientzako) izan daitekeen. Katearen luzera taulako zutabe kopurua baino txikiagoa bada, kateko azken karakterea gainerako zutabeen lerrokatzea definitzeko erabiliko da.
RowHeaderWidth: width of the row header column expressed in Map AppFont units. Default = 10. The argument is ignored when the TableControl has no row header.
Hurrengo adibidean, myDialog elkarrizketa-koadroak Grid1 izeneko TableControl bat du eta horrek "Erakutsi errenkada-goiburukoa" eta "Erakutsi zutabe-goiburukoa" propietateetan "Bai" aukera du ezarrita.
     Dim myDialog As Object, oTable As Object, tableData As Variant
     myDialog = CreateScriptService("Dialog", "GlobalScope", "Standard", "myDialog")
     oTable = myDialog.Controls("Grid1")
     tableData = Array("Column A", "Column B", "Column C")
     tableData = SF_Array.AppendRow(tableData, Array("Row 1", 1, 2))
     tableData = SF_Array.AppendRow(tableData, Array("Row 2", 3, 4))
     tableData = SF_Array.AppendRow(tableData, Array("Row 3", 5, 6))
     vAlignments = "LCC"
     vWidths = Array(2, 1, 1)
     oTable.SetTableData(tableData, vWidths, vAlignments)
     myDialog.Execute()
   Value propietateak taulan hautatutako errenkada itzultzen du. Ez badago errenkadarik hautatuta, hutsik dagoen Array objektu bat itzuliko da. Hurrengo kode-zatiak taulan errenkadaren bat hautatuta dagoen ala ez nola probatu erakusten du.
     rowValues = oTable.Value
     If UBound(rowValues) < 0 Then
         MsgBox "Ez da errenkadarik hautatu."
     Else
         MsgBox oTable.ListIndex & ". errenkada hautatu da."
     End If
   
     dlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "myDialog")
     table_control = dlg.Controls("Grid1")
     table_data = (("Column A", "Column B", "Column C"),
                   ("Row 1", 1, 2),
                   ("Row 2", 3, 4),
                   ("Row 3", 5, 6))
     alignments = "LCC"
     widths = (100, 50, 50)
     table_control.SetTableData(table_data, widths, alignments)
     dlg.Execute()
   
     bas = CreateScriptService("Basic")
     row_values = table_control.Value
     if len(row_values) == 0:
         bas.MsgBox("No row selected.")
     else:
         bas.MsgBox(f"Row {table_control.ListIndex} is selected.")
   Gehitu lerro bat lerro anitzeko testu-eremu baten amaierari. Lerro berriaren karakterea txertatuko da halakoa behar denean. Metodoak True itzuliko du ongi gauzatzen denean.
Errore bat gertatuko da kontrola ez bada TextField motakoa edo lerro anitzekoa ez bada.
svc.WriteLine(opt line: str): bool
Line: Txertatuko den katea. Balio lehenetsia lerro hutsa da.
      Dim oDlg As Object, oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.WriteLine("a new line")
   
     dlg = CreateScriptService('SFDialogs.Dialog', None, None, 'myDialog')
     ctrl = dlg.Controls('thisControl')
     ctr.WriteLine("a new line")