germbtsig1
Messages postés2Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention25 juin 2008
-
21 mai 2008 à 09:46
germbtsig1
Messages postés2Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention25 juin 2008
-
25 juin 2008 à 09:31
je souhaiterai pouvoir piloter openoffice avec vb 6.
c'est à dire ouvrir calc, y introduire les données d'une requête ou alors activer une macro depuis vb 6.
est-ce possible ? si oui comment ?
koriteki
Messages postés20Date d'inscriptionmardi 20 avril 2004StatutMembreDernière intervention 7 mai 2014 23 juin 2008 à 15:12
C'est possible, mais c'est pas évident...
Voici quelques lignes de code
Public ServiceManager As Object
Public Desktop As Object
Public objDocument As Object
Public objClasseur As Object
Public objText As Object
Public objTable As Object
Public Cursor As Object
Public CCell As Object
Public Plage As Object
Public Sub DebutOOo()
Dim dispatcher As Object
Dim args()
Dim Tableau
Unload Form1
Pourcent = 99
' Création de l'objet Openoffice.org
Set objServiceManager = CreateObject("com.sun.star.ServiceManager")
' Create the Desktop
Set objDesktop = objServiceManager.createInstance("com.sun.star.frame.Desktop")
'ouverture d'un classeur de calcul
Set objClasseur = objDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, args)
'création d'un objet de type Feuille de calcul
Set objTable = objClasseur.getSheets.getByName("Feuille1")
'création du curseur pour le document writter
Set CCell = objTable.getCellRangeByName("A5") 'Sélectionne la cellule A5
CCell.Value = 123 'Donne une valeur à la cellule sélectionné
Qui = "C3" 'Paramètre une variable string avec coordonnés d'une cellule
Set CCell = objTable.getCellRangeByName(Qui) 'Sélectionne la cellule dont les coordonnées sont dans la variable
CCell.String = "Tercios" 'entre dans une cellule du texte
Set Plage = objTable.getCellRangeByName("A1:A5") 'sélection d'un groupe de cellule dans un classeur
Plage.Merge (True) 'Fusionne les cellules d'une sélection
Set Plage = objTable.getCellRangeByName("A1:D5")
'Traçage des bordures du tableau
Tableau = Array(0, 0, 2, 0)
Plage.setPropertyValue "BottomBorder", Tableau
Plage.setPropertyValue "LeftBorder", Tableau
Plage.setPropertyValue "RightBorder", Tableau
Plage.setPropertyValue "TopBorder", Tableau
End Sub