Voici une macro qui crée cette source et le fichier ODB.
- Code : Tout sélectionner AgrandirRéduire
Sub EnregistreSourceODB
Dim NomSource as string
Dim Chemin as string
Dim NomBase as string
Dim Classeur as string
NomSource = "Dude Source"
Chemin = "u:\temp"
NomBase = "maBase.odb"
Classeur = "maBase.ods"
oContexte = createUnoService("com.sun.star.sdb.DatabaseContext")
If oContexte.hasByName(NomSource) Then
msgBox NomSource & " existe déjà !"
Else
oSrcODB = createUnoService("com.sun.star.sdb.DataSource")
sUrl = ConvertToURL(Chemin)
oSrcODB.DatabaseDocument.storeAsURL(sUrl & "/" & NomBase, Array())
sUrl = "sdbc:calc:" & sUrl & "/" & Classeur
oContexte.registerObject(NomSource, oSrcODB)
oSrcODB.setPropertyValue("URL", sUrl)
oSrcODB.DatabaseDocument.store()
End If
End Sub
Si vous voulez supprimer la source existante au moment du test, sélectionnez la ligne :
- Code : Tout sélectionner AgrandirRéduire
msgBox NomSource & " existe déjà !"
et remplacez la par :
- Code : Tout sélectionner AgrandirRéduire
oContexte.revokeObject(NomSource)
