Add this to your spreadsheet and let it run on open.
Edit the db file name which is supposed to be in the same directory as the spreadsheet and edit the registration name. It registers your database if it is not already registered, otherwise it does nothing.

Sub registerMyDatabase
Const cRegName = "BooBoo"
Const cFileName = "test.odb"
oURL = getURLFromString(ThisComponent.getURL())
sURL = oURL.Protocol & oURL.Path & cFileName
dbc=createUnoService("com.sun.star.sdb.DatabaseContext")
If NOT dbc.hasRegisteredDatabase(cRegName) and FileExists(sURL) then
  dbc.registerDatabaseLocation(cRegName, sURL)
endif
End Sub

Function getURLFromString(s$, optional protocol)
REM returns a com.sun.star.util.URL or Basic Null for invalid urls
Dim url as new com.sun.star.util.URL
Dim srv, bSuccess as Boolean
        if isMissing(protocol) then protocol = ""
        srv = createUnoService("com.sun.star.util.URLTransformer")
        url.Complete = s
        if len(protocol)>0 then
        bSuccess = srv.parseSmart(url, protocol)
    else
        bSuccess = srv.parseStrict(url)
    endif
        if bSuccess then
                getURLFromString = url
        else
                getURLFromString = Null
        endif
End Function



--
For unsubscribe instructions e-mail to: users+h...@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted

Reply via email to