Piloter openoffice avec vb6

Signaler
Messages postés
2
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
25 juin 2008
-
Messages postés
2
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
25 juin 2008
-
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 ?

merci d'avance

2 réponses

Messages postés
20
Date d'inscription
mardi 20 avril 2004
Statut
Membre
Dernière intervention
7 mai 2014

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
Messages postés
2
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
25 juin 2008

merci cela m'a beaucoup aidé.
j'aimerai maitenant savoir comment transférer les données d'un MSFLEXGRID vers une feuille calc de OpenOffice.

Merci