LibreOffice 25.2 Hjelp
Tenesta DialogControl handsamar dei kontrollelementa som høyrer til eit dialogvindauge som er definert med Dialog Editor i Basic. Kvar førekomst av den gjeldande tenesta representerer eitt kontrollelement i eit dialogvindauge.
Fokus vert sett på å hente verdiane som vert viste av kontrollelementa i dialogvindauget. Formatering er tilgjengeleg via eigenskapane XControlModel og XControlView.
Merk at innhaldet av den unike eigenskapen DialogControl.Value varierer i høve til type kontrollelement.
Kontrollar av typen trekontroll får spesiell merksemd. Det er enkelt å fylla eit tre, anten forgreina etter grein eller med eit sett med greiner samtidig. Utfylling av ein trekontroll kan gjerast statisk eller dynamisk.
Tenesta SFDialogs.DialogControl er i nær slekt med tenesta SFDialogs.Dialog.
Før du brukar tenesta DialogControl må biblioteket ScriptForge vera lasta inn eller importert:
Tenesta DialogControl vert opna frå ei Dialog-teneste som finst frå før, med Controls() -metoden. Dialogvindauget må opnast med tenesta SFDialogs.Dialog.
      Dim myDialog As Object, myControl As Object
      Set myDialog = CreateScriptService("SFDialogs.Dialog", "GlobalScope", myLibrary, DialogName)
      Set myControl = myDialog.Controls("myTextBox")
      myControl.Value = "Dialogvindauget byrja " & Now()
      myDialog.Execute()
      ' … handsamar dei aktuelle verdiane for kontrollelementet
      myDialog.Terminate()
   
     from time import localtime, strftime
     dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', lib_name, dlg_name)
     text = dlg.Controls('myTextBox')
     text.Value = "Dialogvindauget byrja " + strftime("%a, %d %b %Y %H:%M:%S", localtime())
     dlg.Execute()
     ' … handsamar dei aktuelle verdiane for kontrollelementet
     dlg.Terminate()
   Ein førekomst av DialogControl-tenesta kan hentast via SFDialogs.DialogEvent-tenesta viss dialogvindauget vart opna med Dialog-tenesta. I eksempelet nedanfor inneheld oControl DialogControl-førekomsten som utløyste kontrollhendinga.
      Sub aControlEventHandler(ByRef poEvent As Object)
          Dim oControl As Object
          Set oControl = CreateScriptService("SFDialogs.DialogEvent", poEvent)
          ' ...
      End Sub
  Eller bruk Python:
     def control_event_handler(event: uno):
         oControl = CreateScriptService('SFDialogs.DialogEvent', event)
         # ...
  Merk at i dei tidlegare eksempla kan prefikset «SFDialogs.» sløyfast når det passar best.
Når du opprettar ein hendingshandsamar for kontrollhendingar, er det god praksis å handsama feil inne i sjølve underrutinen. Gå for eksempel ut frå at hendingshandsamaren nedanfor vert kalla opp når det vert trykt på knappe.
    Sub OnButtonClicked(ByRef oEvent As Object)
    On Local Error GoTo Catch
        Dim oControl As Object
        oControl = CreateScriptService("DialogEvent", oEvent)
        ' Køyr hending
        Exit Sub
    Catch:
        MsgBox SF_Exception.Description
        SF_Exception.Clear
    End Sub
  Kall opp SF_Exception.Clear viss du ikkje vil at feilen skal overførast vidare etter at dialogvindauget er avslutta.
I Python brukar du native try/except-blokker for unntakshandsaming som vist nedanfor:
    def on_button_clicked(event=None):
        try:
            oControl = CreateScriptService("DialogEvent", event)
            # Køyr hendinga
        except Exception as e:
            # Objektet «bas» nedanfor er ein førekomst av Basic-tenesta
            bas.MsgBox(str(e))
  Tenesta DialogControl er tilgjengeleg for desse kontrolltypane:
| • Button | • FixedLine | • ListBox | • TableControl | 
| Namn | Skriveverna | Type | Gjeld for | Beskriving | 
|---|---|---|---|---|
| Border | Ja | String | Button, … | Border-eigenskapen refererer til omgivnadene til kontrollelementet: "3D", "FLAT" eller "NONE". | 
| Cancel | Nei | Boolean | Button | Bestemmer om ein kommandoknapp har eller ikkje har verkemåten til ein Avbryt-knapp. | 
| Caption | Nei | String | Button, CheckBox, FixedLine, FixedText, GroupBox, Hyperlink, RadioButton | Viser teksten som er knytt til kontrollen. | 
| ControlType | Ja | String | Alle | Ein av typane lista opp ovanfor. | 
| CurrentNode | Nei | UNO | TreeControl | Den øvste noden som er vald i trekontrollen. Sjå XmutableTreeNode i dokumentasjonen til Application Programming Interface (API). | 
| Default | Nei | Boolean | Button | Viser om ein kommandoknapp er standardknappen (OK). | 
| Enabled | Nei | Boolean | Alle | Viser om kontrollen er tilgjengeleg med markøren. | 
| Format | Nei | String | DateField, TimeField, FormattedField (skriveverna) | Spesifiserer formatet som vert brukt for å visa datoar og klokkeslett. Det må vera ein av desse strengane: For datoar: "Standard (kort)", "Standard (kort ÅÅ)", "Standard (kort ÅÅÅÅ)", "Standard (lang)", "DD/MM/ÅÅ", "MM/DD/ÅÅ", "ÅÅ/MM/DD", "DD/MM/ÅÅÅÅ", "MM/DD/ÅÅÅÅ" , "ÅÅÅÅ/MM/DD", "ÅÅ-MM-DD", "ÅÅÅÅ-MM-DD". Til klokkeslett: "24t kort", "24t lang", "12t kort", "12t lang". | 
| ListCount | Ja | Long | ComboBox, ListBox, TableControl | Spesifiserer talet på rader i ein listeboks, ein komboboks eller ein tabellkontroll. | 
| ListIndex | Nei | Long | ComboBox, ListBox, TableControl | Spesifiserer kva for element som er merkt i ein listeboks, ein komboboks eller ein tabellkontroll. | 
| Locked | Nei | Boolean | ComboBox, CurrencyField, DateField, FileControl, FormattedField, ListBox, NumericField, PatternField, TextField, TimeField | Spesifiserer om kontrollelementet er skriveverna. | 
| MultiSelect | Nei | Boolean | ListBox | Spesifiserer om ein brukar kan gjera fleire val i ein listeboks. | 
| Name | Ja | String | Alle | Namnet på kontrollelementet | 
| Page | Nei | Integer | Alle | Eit dialogvindauge kan ha fleire sider som brukaren kan gå gjennom steg for steg. Kva side i dialogvindauget som er gjeldande, vert definert i sideeigenskapen. Side-eigenskapen til eit kontrollelement definerer kva side i dialogvindauget kontrollelementet er synleg. | 
| Parent | Ja | Tenesta Dialog | Alle | Foreldreklassen SFDialogs.Dialog sin objektførekomst. | 
| Picture | Nei | String | Button, ImageControl | Spesifiserer at filnamnet som inneheld punktgrafikk eller ein annan type grafikk vert vist på det gjevne kontrollelementet. Filnamnet må vera i samsvar med FileNaming for tenesta ScriptForge.FileSystem. | 
| RootNode | Ja | UNO | TreeControl | Eit objekt som representerer den lågaste rotnoden (til vanleg finst det berre éin slik rotnode). Sjå lXmutableTreeNode i API-dokumentasjonen (Application Programming Interface) for detaljert informasjon. | 
| RowSource | Nei | Array of strings | ComboBox, ListBox | Spesifiserer dataa i ein kombinasjonsboks eller ein listeboks. | 
| TabIndex | Ja | Numeric | All | EigenskapenTabIndex spesifiserer plassen kontrollelementet har i tabulatorrekkjefølgja i dialogvindauget. | 
| Text | Ja | String | ComboBox, FileControl, FormattedField, PatternField, TextField | Gjev tilgang til teksten som vert vist av kontrollelementet. | 
| TipText | Nei | String | Alle | Spesifiserer teksten som vert vist i ei hjelpeboble når du held musepeikaren over kontrollelementet. | 
| TripleState | Nei | Boolean | CheckBox | Bestemmer om kontrollelementet for avkryssingsboksen kan vera nedtona (gråa ut) eller ikkje. | 
| URL | Nei | String | Hyperlink | Adressa som skal opmast når kontrollelementet vert trykt. | 
| Value | Nei | Variant | Referer til Verdieigenskapar | |
| Visible | Nei | Boolean | Alle | Bestemmer om kontrollelementet skal vera gøymt eller synleg. | 
| XControlModel | Ja | UNO | Alle | Det UNO-objektet som representer modellen for kontrollelementet. Sjå detaljert informasjon iXControlModel og UnoControlDialogModel i dokumentasjonen for API-en ( Application Programming Interface). | 
| XControlView | Ja | UNO | Alle | Det UNO-objektet som representer visinga av kontrollelementet. Sjå detaljert informasjon i XControl og UnoControlDialog i dokumentasjonen for API-en ( Application Programming Interface). | 
| XTreeDataModel | Ja | UNO | TreeControl | UNO-objektet som representerer trekontrolldatamodellen. Sjå detaljert informasjon om dette i XMutableTreeDataModel i dokumentasjonen for API-en (Application Programming Interface). | 
| Kontrolltype | Type | Beskriving | 
|---|---|---|
| Button | Boolean | Berre for veksleknappar | 
| CheckBox | Boolsk eller heiltal | 0, Usann: ikkje merkt | 
| ComboBox | String | Den valde verdien. Eigenskapen ListIndex er eit alternativt val. | 
| CurrencyField | Numerisk | |
| DateField | Date | |
| FileControl | String | Eit filnamn formatert etter eigenskapen FileNaming i tenesta ScriptForge.FileSystem | 
| FormattedField | Streng eller numerisk | |
| ListBox | Streng eller ei matrise av strengar | Den(e) valde rada(radene) som ein skalar eller som ei matrise, avhengig av attributtet MultiSelect | 
| NumericField | Numerisk | |
| PatternField | String | |
| ProgressBar | Numerisk | Må vera innføre dei førehandsdefinerte grensene | 
| RadioButton | Boolean | Kvar knapp har sitt eige namn. Dei er knytt saman viss tabulatorposisjonane deira er samanhengande. Viss ein radioknapp er sett til Sann vert dei andre relaterte knappane automatisk sette til Usann. | 
| ScrollBar | Numerisk | Må vera innføre dei førehandsdefinerte grensene | 
| TableControl | Array | Eindimensjonal tabell med dataa frå den merkte rada. | 
| TextField | String | Teksten som vert vist i feltet | 
| TimeField | Date | 
Det er ingen Value-eigenskap for dei digitale kontrollelementa GroupBox, Hyperlink, ImageControl og TreeControl.
| Namn | Skriveverna | Beskriving ut frå etiketten i Basic IDE | 
|---|---|---|
| OnActionPerformed | Ja | Utfør handling | 
| OnAdjustmentValueChanged | Ja | Ved justering | 
| OnFocusGained | Ja | Når han får fokus | 
| OnFocusLost | Ja | Når han mistar fokus | 
| OnItemStateChanged | Ja | Elementstatus endra | 
| OnKeyPressed | Ja | Ved tastetrykk | 
| OnKeyReleased | Ja | Etter tastetrykk | 
| OnMouseDragged | Ja | Muserørsle medan ein tast er trykt | 
| OnMouseEntered | Ja | Mus innanfor | 
| OnMouseExited | Ja | Mus utanfor | 
| OnMouseMoved | Ja | Mus flytt | 
| OnMousePressed | Ja | Museknapp trykt ned | 
| OnMouseReleased | Ja | Museknapp sloppe | 
| OnNodeExpanded | Nei | (Ikkje i Basic IDE) når utvidingsknappen vert trykt på ein node i ein trekontroll | 
| OnNodeSelected | Nei | (Ikkje i Basic IDE) når ein node i ein trekontroll er vald | 
| OnTextChanged | Ja | Tekst endra | 
| Liste over metodar i tenesta DialogControl | ||
|---|---|---|
Opprett og returner ein ny node av trekontrollen som eit UNO-objekt underordna ein overordna node. Sjå detaljert informasjon om XMutableTreeNode i dokumentasjonen til Application Programming Interface (API).
Du kan kalla opp denne metoden før du viser dialogfeltett for å byggja det første treet. Han kan også kallast opp frå ei dialog- eller kontrollhending ved å bruka hendinga OnNodeExpanded for å fullføra treet dynamisk.
svc.AddSubNode(parentnode: uno, displayvalue: str, opt datavalue: any): uno
overordna_node: Eit UNO nodeobjekt av typen com.sun.star.awt.tree.XMutableTreeNode.
visingsverdi: Teksten vert vist i kontrollfeltet for treet.
dataverdi: Kva verdi som helst som er knytt saman med den nye noden. dataverdi kan vera ein streng, eit tal eller ein dato. Sløyf argumentet når det ikkje er bruk for det.
LibreOffice Basic- og Python-eksempel hentar minDialog frå Standard-biblioteket for det gjeldande dolumentet.
      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 ...')
   Returnerer Sann når eit undertre, som er underordna ein overordna node, kan setjast inn i ein trekontroll. Viss den overordna noden har underordna noder frå før metoden vart brukt, vert dei underordna nodane sletta.
svc.AddSubTree(parentnode: uno, flattree: any, opt withdatavalue: bool): bool
overordna_node: Eit UNO nodeobjekt av typen com.sun.star.awt.tree.XMutableTreeNode.
flatt_tre: Ei to-dimensjonal matrise sortert etter kolonnane som inneheld visingsverdiane. Ei slik matrise kan sendast av metoden GetRows brukt på tenesta SFDatabases.Database. Når eit matriseelement som inneheld teksten som skal visast, er Empty eller Null vert det ikkje laga ein ny undermetode og resten av rada vert hoppa over.
      Flat tree    >>>>    Resulting subtree
      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
   med_dataverdi: Når standardverdien Usann vert brukt, inneheld kvar kolonne i flatt_tre den teksten som skal visast i kontrolltreet. Når Sann vert brukt, er tekstane (displayvalue som skal visast i kolonnane 0, 2, 4, … , medan dataverdiane (dataverdi) er i kolonnane 1, 3, 5, …
      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)
   Returnerer ein ny rotnode for trekontrollen som eit UNO-nodeobjekt av typen com.sun.star.awt.tree.XMutableTreeNode. Den nye trerota vert sett inn under rotnodar som finst frå før. Sjå detaljert informasjon om XMutableTreeNode i dokumentasjonen til Application Programming Interface (API).
Du kan kalla opp denne metoden før du viser dialogfeltet for å byggja det første treet. Han kan også kallast opp frå ei dialog- eller kontrollhending ved å bruka hendinga OnNodeExpanded for å fullføra treet dynamisk.
svc.CreateRoot(displayvalue: str, opt datavalue: any): uno
visingsverdi: Teksten som vert vist i kontrollfeltet for treet.
      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 ...')
   Går gjennom treet rekursivt, frå rota og finn ein node som oppfyller nokre kriterium. Anten - 1 treff er nok - å ha ein visingsverdi som samsvarar med mønsteret displayvalue eller å ha dataverdien lik dataverdi. Samanlikningane kan skilja mellom store og små bokstavar eller ikkje. Den første samsvarande førekomsten vert returnert som eit UNO-nodeobjekt av typen com.sun.star.awt.tree.XMutableTreeNode. Sjå detaljert informasjon om XMutableTreeNode i dokumentasjonen til Application Programming Interface (API).
Viss han ikkje finst, returnerer metoden Nothing (ingenting), som skal testast med den innebygde funksjonen IsNull() (er null()).
Du kan kalla opp denne metoden før du viser dialogfeltet for å byggja det første treet. Han kan også kallast opp frå ei dialog- eller kontrollhending.
svc.FindNode(displayvalue: str = '', opt datavalue: any, casesensitive = False): uno
Eit av argumenta visingsverdi eller dataverdi må vera spesifisert. Viss begge er brukte, er eitt treff nok til å velja ei forgreining.
visingsverdi: Mønsteret som skal samsvara. Sjå ei liste over moglege jokerteikn i metoden SF_String.IsLike() . Når denne visingsverdien er lik den tomme strengen (standard), vert det ikkje søkt etter denne visingsverdien.
Store-og-små: Standardverdien er Usann
      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:
         # ...
   Flyttar det øvre, venstre hjørnet for eit kontrollelement i eit dialogvindauge og/eller endrar dimensjonane. Returnerer Sann viss endringa lukkast.
svc.Resize(opt Left: int, opt Top: int, opt Width: int, opt Height: int): bool
Alle avstandar vert uttrykte i Map AppFont-einingar og vert mælte frå det øvre, venstre hjørnet i foreldredialogvindauget. Utan argument endrar metoden storleiken på kontrollelementet til den «føretrekte storleiken» sin, ein storleik som vert justert avhengig av det faktiske innhaldet. Manglar argument, vert elementet ikkje endra.
Left: den vassrette avstanden frå øvre venstre hjørne
Top: den loddrette avstanden frå øvste venstre hjørne
Width: breidda på rektangelet som inneheld kontrollelementet
Height: høgda på rektangelet som inneheld kontrollelementet
      Dim oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.Resize(100, 200, Height:=6000) ' Breidda er ikkje endra
    
      dlg = CreateScriptService('Dialog', None, None, 'myDialog')
      ctrl = dlg.Controls('thisControl')
      ctrl.Resize(300, 200, 1500)  # Høgda er ikkje endra
    Set fokus på kontrollelementet. Returner Sann viss fokuseringa lukkast.
Denne metoden vert ofte kalla opp frå ei dialogvindauge- eller kontrollhending.
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()
    Fyller ein TableControl (tabellkontroll) med dei gjevne dataa. Alle data som finst frå før vert fjerna før dei nye dataa vert vidaresende som argument.
Når TableControl vert lagt til i dialogvindauget, er det mogleg å bruka Basic IDE for å definere om kolonne- og radoverskrifter skal visast i tabellen. Viss TableControl har kolonne- og/eller radoverskrifter, vert den første kolonnen og/eller rada i den gjevne datamatrisa som etikettar for tabelloverskriftene.
Denne metoden returnerer Sann viss han lukkast.
svc.SetTableData(dataarray: any[0..*, 0..*], widths: int[0..*], alignments: str, RowHeaderWidth = 10): bool
datamatrise: Data som skal skrivast inn i tabellen representert som ei matrise av matriser i Basic eller ein tuple av tuplar i Python. Dataa må innehalda kolonne- og radoverskrifter viss dei skal visast av TableControl (tabellkontrollen).
widths: Matrise som inneheld dei relative breiddene på kvar kolonne. Med andre ord: widths = (1, 2) betyr at den andre kolonnen er dobbelt så brei som den første. Viss talet på verdiar i matrisa er mindre enn talet på kolonnar, vert den siste verdien i matrisa brukt som breidde på resten av kolonnane.
alignments: Definerer justeringa i kvar kolonne som ein streng der kvart teikn kan vera «L» (venstre), «C» (senter), «R» (høgre) eller « » (mellomrom, standard, betyr venstre for strenger og høgre for talverdiar). Viss lengda på strengen er kortare enn talet på kolonnar i tabellen, vert det siste teiknet i strengen brukt for å definera justeringa for resten av kolonnane.
Radoverskriftsbreidd: breidda på kolonnen med radoverskrifta uttrykt i Map AppFont-einingar. Standard = 10. Argumentet vert ignorert viss det ikkje er ei overskrift i TableControl.
Eksempelet nedanfor går ut frå at dialogvindauget myDialog har ein TableControl kalla Grid1 med eigenskapane «Vis radoverskrift» og «Vis kolonneoverskrift» sett til «Ja».
     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()
   Eigenskapen Value returnerer den valde rada i tabellen. Viss inga rad er vald, vert eit tomt matriseobjekt returnert. Kodesnutten nedanfor viser korleis du kan testa om det er ei vald rad i tabellen.
     rowValues = oTable.Value
     If UBound(rowValues) < 0 Then
         MsgBox "Inga rad er vald."
     Else
         MsgBox "Rada " & oTable.ListIndex & " er vald."
     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.")
   Legg til ei ny linje på slutten av eit tekstfelt med fleire linjer. Der vert sett inn eit linjeskiftteikn når det høver. Metoden returnerer Sann når han lukkast.
Det oppstår ein feil viss den faktiske kontrollen ikkje er av typen TextField eller ikkje har fleire linjer.
svc.WriteLine(opt line: str): bool
Linje: Strengen som skal setjast inn. Standard er ei tom linje.
      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")