Piloter openoffice avec vb6

germbtsig1 Messages postés 2 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 25 juin 2008 - 21 mai 2008 à 09:46
germbtsig1 Messages postés 2 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 25 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 ?

merci d'avance

2 réponses

koriteki Messages postés 20 Date d'inscription mardi 20 avril 2004 Statut Membre Derniè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
0
germbtsig1 Messages postés 2 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 25 juin 2008
25 juin 2008 à 09:31
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
0
Rejoignez-nous