Sub CopieOOoToXls() 'Le fichier dOOocument.ods est copié au format .xls
Dim Args(), Args2(0)
Dim serviceManager As Object, Desktop As Object, Document As Object
Dim Donnees As String
Dim i As Byte
'Création d'une instance Open Office
Set serviceManager = CreateObject("com.sun.star.ServiceManager")
Set Desktop = serviceManager.createInstance("com.sun.star.frame.Desktop")
'Appel fonction de conversion du chemin
Fichier = ConvertToURL(ThisWorkbook.Path & "\dOOocument.ods")
'Ouverture du fichier Ooo
Set Document = Desktop.loadComponentFromURL(Fichier, "_blank", 0, Args)
'Crée une copie du fichier OOo au format Excel
FichierCopie = ConvertToURL(ThisWorkbook.Path & "\CopiedOOocument.xls")
Set Args2(0) = serviceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
Args2(0).Name = "FilterName"
Args2(0).Value = "MS Excel 97"
Document.StoreToURL FichierCopie, Args2
DoEvents
'Fermeture du document OOo sans sauvegarder
Document.Close (False)
End Sub
Function ConvertToURL(Fichier As String)
'fonction de conversion au format URL
Dim Cible As String
Cible = Fichier
Cible = Replace(Cible, "\", "/")
ConvertToURL = "file:///" & Cible
End Function