Tools Library

Module
Contents
Index 🔎︎

# The Tools Library

Để truy cập lệnh này...

Open Tools - Macros - LibreOffice Basic - Edit and select LibreOffice Macros container.

This library must be loaded before execution. Place the following statement before the first macro in your module:
GlobalScope.BasicLibraries.LoadLibrary("Tools")

Debug Module

ListBox Module

Misc Module

ModuleControls Module

Strings Module

UCB Module

## Debug Module

Functions and subroutines for debugging Basic macros

Macro | Calling parameters and comments
    ActivateReadOnlyFlag
    Sub ActivateReadOnlyFlag()
    DeactivateReadOnlyFlag
    Sub DeactivateReadOnlyFlag(
    SetBasicReadOnlyFlag
    Sub SetBasicReadOnlyFlag(bReadOnly as Boolean)
    WritedbgInfo
    Sub WritedbgInfo(LocObject as Object)
    WriteDbgString
    Sub WriteDbgString(LocString as string)
    ShowArray
    Sub ShowArray(LocArray())
    ShowPropertyValues
    Sub ShowPropertyValues(oLocObject as Object)
    ShowNameValuePair
    Sub ShowNameValuePair(Pair())
    ShowElementNames
| ' Retrieves all the Elements of aSequence of an object, with the ' possibility to define a filter(sfilter <> "")
    Sub ShowElementNames(
    oLocElements() as Object,
    Optional sFiltername as String)
    ShowSupportedServiceNames
| ' Retrieves all the supported servicenames of an object, with the ' possibility to define a filter(sfilter <> "")
    Sub ShowSupportedServiceNames(
    oLocObject as Object,
    Optional sFilterName as String)
    ShowAvailableServiceNames
| ' Retrieves all the available Servicenames of an object, with the ' possibility to define a filter(sfilter <> "")
    Sub ShowAvailableServiceNames(
    oLocObject as Object,
    Optional sFilterName as String)
    ShowCommands
    Sub ShowCommands(oLocObject as Object)
    ProtectCurrentSheets
    Sub ProtectCurrentSheets()
    FillDocument
    Sub FillDocument()

## ListBox Module

Functions and subroutines for handling ListBox elements.

This help page needs further work for correctness and completion. Please join the LibreOffice project and help us out to write the missing information. Visit our web page on writing Help contents.

## Misc Module

Miscellaneous functions and subroutines.

Macro | Calling parameters and comments
    RegisterNewDataSource
    Function RegisterNewDataSource(
    DSName as  String,
    PropertyList(),
    Optional DriverProperties()
    as New com.sun.star.beans.PropertyValue)
    ConnecttoDatabase
    Function ConnecttoDatabase(
    DSName as String,
    UserID as String,
    Password as String,
    Optional Propertylist(),
    Optional DriverProperties()
    as New com.sun.star.beans.PropertyValue)
    GetStarOfficeLocale
    Function GetStarOfficeLocale()
    as New com.sun.star.lang.Locale
    GetRegistryKeyContent
    Function GetRegistryKeyContent(
    sKeyName as string,
    Optional bforUpdate as Boolean)
    GetProductname
    Function GetProductname() as String
    OpenDocument
| ' Opens a Document, checks beforehand, whether it has to be loaded or whether it is already on the desktop. If the parameter bDisposable is set to False then then returned document should not be disposed afterwards, because it is already opened.
    Function OpenDocument(
    DocPath as String,
    Args(),
    Optional bDisposable as Boolean)
    TaskonDesktop
    Function TaskonDesktop(DocPath as String) as Boolean
    RetrieveFileName
| ' Retrieves a FileName out of a StarOffice-Document
    Function RetrieveFileName(LocDoc as Object)
    GetPathSettings
| ' Gets a special configured PathSetting
    Function GetPathSettings(
    sPathType as String,
    Optional bshowall as Boolean,
    Optional ListIndex as integer) as String
    GetOfficeSubPath
| ' Gets the fully qualified path to a subdirectory of the Template Directory, e. g. with the parameter "wizard/bitmap" The parameter must be passed over in Url-scription. The return-Value is in Urlscription
    Function GetOfficeSubPath(
    sOfficePath as String,
    ByVal sSubDir as String)
    ShowNoOfficePathError
    Sub ShowNoOfficePathError()
    InitResources
    Function InitResources(
    Description,
    ShortDescription as String) as boolean
    GetResText
    Function GetResText( nID as integer ) As string
    CutPathView
    Function CutPathView(
    sDocUrl as String,
    Optional PathLen as Integer)
    DeleteInputCells
| ' Deletes the content of all cells that are softformatted according to the 'InputStyleName'
    Sub DeleteInputCells(
    oSheet as Object,
    InputStyleName as String)
    ChangeValueofRange
| ' Inserts a certain String to all cells of a Range that ist passed over either as an object or as the RangeName
    Sub ChangeValueofRange(
    oSheet as Object,
    Range,
    ReplaceValue,
    Optional StyleName as String)
    ReplaceRangeValues
    Sub ReplaceRangeValues(
    oRange as Object,
    ReplaceValue)
    GetValueofCellbyName
| ' Returns the Value of the first cell of a Range
    Function GetValueofCellbyName(
    oSheet as Object,
    sCellName as String)
    DuplicateRow
    Function DuplicateRow(
    oSheet as Object,
    RangeName as String)
    GetStringofCellbyName
| ' Returns the String of the first cell of a Range
    Function GetStringofCellbyName(
    oSheet as Object,
    sCellName as String)
    GetCellByName
| ' Returns a named Cell
    Function GetCellByName(
    oSheet as Object,
    sCellName as String) as Object
    ChangeCellValue
| ' Changes the numeric Value of a cell by transmitting the String of the numeric Value
    Sub ChangeCellValue(
    oCell as Object,
    ValueString as String)
    GetDocumentType
    Function GetDocumentType(oDocument)
    GetNumberFormatType
    Function GetNumberFormatType(
    oDocFormats,
    oFormatObject as Object) as Integer
    ProtectSheets
    Sub ProtectSheets(Optional oSheets as Object)
    UnprotectSheets
    Sub UnprotectSheets(Optional oSheets as Object)
    GetRowIndex
    Function GetRowIndex(
    oSheet as Object,
    RowName as String)
    GetColumnIndex
    Function GetColumnIndex(
    oSheet as Object,
    ColName as String)
    CopySheetbyName
    Function CopySheetbyName(
    oSheets as Object,
    OldName as String,
    NewName as String,
    DestPos as Integer) as Object
    ToggleWindow
| ' Dis-or enables a Window and adjusts the mousepointer accordingly
    Sub ToggleWindow(bDoEnable as Boolean)
    CheckNewSheetname
    Function CheckNewSheetname(
    oSheets as Object,
    Sheetname as String,
    Optional oLocale) as String
    AddNewSheetName
    Sub AddNewSheetName(
    oSheets as Object,
    ByVal SheetName as String)
    GetSheetIndex
    Function GetSheetIndex(oSheets, sName) as Integer
    GetLastUsedRow
    Function GetLastUsedRow(oSheet as Object) as Integer
    ModifyBorderLineWidth
| ' Note To set a one lined frame you have to set the inner width to 0 In the API all Units that refer to pt-Heights are "1/100mm" The convert factor from 1pt to 1/100 mm is approximately 35
    Function ModifyBorderLineWidth(
    ByVal oStyleBorder,
    iInnerLineWidth as Integer,
    iOuterLineWidth as Integer)
    AttachBasicMacroToEvent
    Sub AttachBasicMacroToEvent(
    oDocument as Object,
    EventName as String,
    SubPath as String)
    ModifyPropertyValue
    Function ModifyPropertyValue(
    oContent() as New com.sun.star.beans.PropertyValue,
    TargetProperties()
    as New com.sun.star.beans.PropertyValue)
    GetPropertyValueIndex
    Function GetPropertyValueIndex(
    SearchName as String,
    TargetProperties()
    as New com.sun.star.beans.PropertyValue ) as Integer
    DispatchSlot
    Sub DispatchSlot(SlotID as Integer)
    IsFatOffice
| 'returns the type of the office application FatOffice = 0, WebTop = 1 This routine has to be changed if the Product Name is being changed!
    Function IsFatOffice() As Boolean
    GetLocale
    Function GetLocale(
    sLanguage as String,
    sCountry as String)
    ToggleDesignMode
    Sub ToggleDesignMode(oDocument as Object)
    isHighContrast
    Function isHighContrast(oPeer as Object)
    CreateNewDocument
    Function CreateNewDocument(
    sType as String,
    Optional sAddMsg as String) as Object
    DisposeDocument
| ' This Sub has been used in order to ensure that after disposing a document from the backing window it is returned to the backing window, so the office won't be closed
    Sub DisposeDocument(oDocument as Object)
    CalIsLeapYear
| 'Function to calculate if the year is a leap year
    Function CalIsLeapYear(
    ByVal iYear as Integer) as Boolean

## ModuleControls Module

Functions and subroutines for module control.

Macro | Calling parameters and comments
    GetControlShape
| ' Gets the Shape of a Control( e. g. to reset the size or Position of the control ' Parameters: ' The 'oContainer' is the Document or a specific sheet of a Calc - Document ' 'CName' is the Name of the Control
    Function GetControlShape(
    oContainer as Object,
    CName as String)
    getControlView
| ' Returns the View of a Control ' Parameters: ' The 'oContainer' is the Document or a specific sheet of a Calc - Document ' The 'oController' is always directly attached to the Document ' 'CName' is the Name of the Control
    Function getControlView(
    oContainer ,
    oController as Object,
    CName as String) as Object
    DisposeControl
| ' Parameters: ' The 'oContainer' is the Document or a specific sheet of a Calc - Document ' 'CName' is the Name of the Control
    Function DisposeControl(
    oContainer as Object,
    CName as String) as Boolean
    GetControlGroupModel
| ' Returns a sequence of a group of controls like option buttons or checkboxes ' The 'oContainer' is the Document or a specific sheet of a Calc - Document ' 'sGroupName' is the Name of the Controlgroup
    Function GetControlGroupModel(
    oContainer as Object,
    sGroupName as String )
    GetRefValue
| ' Returns the Referencevalue of a group of e.g. option buttons or check boxes ' 'oControlGroup' is a sequence of the Control objects
    Function GetRefValue(
    oControlGroup() as Object)
    GetRefValueOfControlGroup
    Function GetRefValueOfControlGroup(
    oContainer as Object,
    GroupName as String)
    GetOptionGroupValue
    Function GetOptionGroupValue(
    oContainer as Object,
    OptGroupName as String) as Boolean
    WriteOptValueToCell
    Function WriteOptValueToCell(
    oSheet as Object,
    OptGroupName as String,
    iCol as Integer,
    iRow as Integer) as Boolean
    LoadDialog
    Function LoadDialog(
    Libname as String,
    DialogName as String,
    Optional oLibContainer)
    GetFolderName
    Sub GetFolderName(oRefModel as Object)
    GetFileName
    Sub GetFileName(
    oRefModel as Object,
    Filternames())
    StoreDocument
    Function StoreDocument(
    oDocument as Object,
    FilterNames() as String,
    DefaultName as String,
    DisplayDirectory as String,
    Optional iAddProcedure as Integer) as String
    AddFiltersToDialog
    Sub AddFiltersToDialog(
    FilterNames() as String,
    oDialog as Object)
    SwitchMousePointer
    Sub SwitchMousePointer(
    oWindowPeer as Object,
    bDoEnable as Boolean)
    ShowOverwriteAllDialog
    Sub ShowOverwriteAllDialog(
    FilePath as String,
    sTitle as String)
    SetOVERWRITEToQuery
    Sub SetOVERWRITEToQuery()
    SetOVERWRITEToAlways
    Sub SetOVERWRITEToAlways()
    SetOVERWRITEToNever
    Sub SetOVERWRITEToNever()

## Strings Module

Advanced functions and subroutines for string manipulation.

Macro | Calling parameters and comments
    ElimChar
    Function ElimChar(
    ByVal BigString as String,
    ElimArray() as String)
    DeleteStr
| ' Deletes out of a String 'BigString' a possible Partstring 'CompString'
    Function DeleteStr(
    ByVal BigString,
    CompString as String) as String
    FindPartString
| ' Finds a PartString, that is framed by the Strings 'Prestring' and 'PostString'
    Function FindPartString(
    BigString,
    PreString,
    PostString as String,
    SearchPos as Integer) as String
    PartStringInArray
| ' Note iCompare = 0 (Binary comparison) ' iCompare = 1 (Text comparison)
    Function PartStringInArray(
    BigArray(),
    SearchString as String,
    iCompare as Integer) as Integer
    RTrimStr
| ' Deletes the String 'SmallString' out of the String 'BigString' ' in case SmallString's Position in BigString is right at the end
    Function RtrimStr(
    ByVal BigString,
    SmallString as String) as String
    LTRimChar
| ' Deletes the Char 'CompChar' out of the String 'BigString' ' in case CompChar's Position in BigString is right at the beginning
    Function LTRimChar(
    ByVal BigString as String,
    CompChar as String) as String
    ArrayOutOfString
| ' Retrieves an Array out of a String. ' The fields of the Array are separated by the parameter 'Separator', that is contained ' in the Array ' The Array MaxIndex delivers the highest Index of this Array
    Function ArrayOutOfString(
    BigString,
    Separator as String,
    Optional MaxIndex as Integer)
    ClearArray
| ' Deletes all fieldvalues in one-dimensional Array
    Sub ClearArray(BigArray)
    ClearMultiDimArray
| ' Deletes all fieldvalues in a multidimensional Array
    Sub ClearMultiDimArray(
    BigArray,
    DimCount as integer)
    FieldinArray
| ' Checks if a Field (LocField) is already defined in an Array ' Returns 'True' or 'False'
    Function FieldinArray(
    LocArray(),
    MaxIndex as integer,
    LocField as String) As Boolean
    FieldinList
| ' Checks if a Field (LocField) is already defined in an Array ' Returns 'True' or 'False'
    Function FieldinList(
    LocField,
    BigList()) As Boolean
    IndexinArray
| ' Retrieves the Index of the delivered String 'SearchString' in ' the Array LocList()'
    Function IndexinArray(
    SearchString as String,
    LocList()) as Integer
    MultiArrayInListbox
    Sub MultiArrayInListbox(
    oDialog as Object,
    ListboxName as String,
    ValList(),
    iDim as Integer)
    StringInMultiArray
| ' Searches for a String in a two-dimensional Array by querying all Searchindexes of the second dimension ' and delivers the specific String of the ReturnIndex in the second dimension of the Searchlist()
    Function StringInMultiArray(
    SearchList(),
    SearchString as String,
    SearchIndex as Integer,
    ReturnIndex as Integer,
    Optional MaxIndex as Integer) as String
    GetIndexInMultiArray
| ' Searches for a Value in multidimensial Array by querying all Searchindices of the passed dimension ' and delivers the Index where it is found.
    Function GetIndexInMultiArray(
    SearchList(),
    SearchValue,
    SearchIndex as Integer) as Integer
    GetIndexForPartString_
    inMultiArray
| ' Searches for a Value in multidimensial Array by querying all Searchindices of the passed dimension ' and delivers the Index where the Searchvalue is found as a part string
    Function GetIndexForPartStringinMultiArray(
    SearchList(),
    SearchValue,
    SearchIndex as Integer) as Integer
    ArrayfromMultiArray
    Function ArrayfromMultiArray(
    MultiArray as String,
    iDim as Integer)
    ReplaceString
| ' Replaces the string "OldReplace" through the String "NewReplace" in the String ' 'BigString'
    Function ReplaceString(
    ByVal Bigstring,
    NewReplace,
    OldReplace as String) as String
    FindSecondValue
| ' Retrieves the second value for a next to 'SearchString' in ' a two-dimensional string-Array
    Function FindSecondValue(
    SearchString as String,
    TwoDimList() as String ) as String
    Power
| ' raises a base to a certain power
    Function Power(
    Basis as Double,
    Exponent as Double) as Double
    Round
| ' rounds a Real to a given Number of Decimals
    Function Round(
    BaseValue as Double,
    Decimals as Integer) as Double
    FileNameoutofPath
| 'Retrieves the mere filename out of a whole path
    Function FileNameoutofPath(
    ByVal Path as String,
    Optional Separator as String) as String
    GetFileNameExtension
    Function GetFileNameExtension(
    ByVal FileName as String)
    GetFileNameWithoutExtension
    Function GetFileNameWithoutExtension(
    ByVal FileName as String,
    Optional Separator as String)
    DirectoryNameoutofPath
    Function DirectoryNameoutofPath(
    sPath as String,
    Separator as String) as String
    CountCharsinString
    Function CountCharsinString(
    BigString,
    LocChar as String,
    ByVal StartPos as Integer) as Integer
    BubbleSortList
    Function BubbleSortList(
    ByVal SortList(),
    optional sort2ndValue as Boolean)
'This function bubble sorts an array of maximum 2 dimensions. 'The default sorting order is the first dimension 'Only if sort2ndValue is True the second dimension is the relevant for the sorting order
    GetValueoutofList
    Function GetValueoutofList(
    SearchValue,
    BigList(),
    iDim as Integer,
    Optional ValueIndex)
    AddListtoList
    Function AddListtoList(
    ByVal FirstArray(),
    ByVal SecondArray(),
    Optional StartIndex)
    CheckDouble
    Function CheckDouble(DoubleString as String)

## UCB Module

Universal Content Broker functions and subroutines.

Macro | Calling parameters and comments
    ReadDirectories
    Function ReadDirectories(
    ByVal AnchorDir As String,
    bRecursive as Boolean,
    bcheckFileType as Boolean,
    bGetByTitle as Boolean,
    Optional sFileContent(),
    Optional sExtension as String)
    AddFoldertoList
    Sub AddFoldertoList(
    sDirURL as String,
    iDirIndex)
    AddFileNameToList
    Sub AddFileNameToList(
    sFileArray(),
    FileName as String,
    FileContent as String,
    bGetByTitle as Boolean,
    CurIndex)
    RetrieveDocTitle
    Function RetrieveDocTitle(
    oDocProps as Object,
    sFileName as String) As String
    GetRealFileContent
| ' Retrieves The Filecontent of a Document by extracting the content ' from the Header of the document
    Function GetRealFileContent(
    FileName as String) As String
    CopyRecursively
    Function CopyRecursively(
    SourceFilePath as String,
    SourceStemDir as String,
    TargetStemDir as String)
    ShowHelperDialog
| ' Opens a help url referenced by a Help ID that is retrieved from the calling button tag
    Sub ShowHelperDialog(aEvent)
    SaveDataToFile
    Sub SaveDataToFile(
    FilePath as String,
    DataList())
    LoadDataFromFile
    Function LoadDataFromFile(
    FilePath as String,
    DataList()) as Boolean
    CreateFolder
    Function CreateFolder(sNewFolder) as Boolean