Ok je suis preneur …

 

J’ai résolu le problème de rechercher / Remplacer … j’ai par contre un soucis avec l’EnregistrerSous …

 

Sous VB6 ça fonctionnait mais en passant ma fonction sous VB .Net ça ne marche plus... problème semble t’il de constante peux tu jeter un œil et ma guider dans ce sens ?

 

Merci …

 

Je pense aujourd’hui terminer un assmblage.Net complet (ou presque) pour Writer !

 

 

 

-----Message d'origine-----
De : Didier Dorange-Pattoret [mailto:[EMAIL PROTECTED]]
Envoyé : vendredi 3 mars 2006 11:16
À : prog@fr.openoffice.org
Objet : Re: [prog] RE : [prog] VB et commandes UNO

 

ReBonjour,

 

>Histoire d'obtenir un kit exploitable pour programmer VB sur OOo, je me

>suis posé la question suivante :

> 

J'ai trouvé la réponse en utilisant la page 667 du livre.

J'ai trouvé comment lancer une macro de OOo à partir de VB

et comment utiliser Xray à partir de VB.

Ce qui suit est du code VB.

rem macro appelant Xray sur l'objet oObj :

Sub VBXray(ByRef oObj As Object)

        Dim Arguinvoke1(0), Arguinvoke2(0), Arguinvoke3(0) As Object

        Arguinvoke1(0) = oObj

        lancerMacroBasic("XrayTool._Main.Xray", Arguinvoke1,

Arguinvoke2, Arguinvoke3)

End Sub

 

rem macro pour lancer un script

Sub lancerMacroBasic(ByVal nomScript As String, ByVal Arguinvoke1 As

Object, ByVal Arguinvoke2 As Object, ByVal Arguinvoke3 As Object)

        Dim mspf As Object, scriptPro As Object, monScript As Object

        mspf =

CreateUnoService("com.sun.star.script.provider.MasterScriptProviderFactory")

        scriptPro = mspf.createScriptProvider("")

        On Error GoTo PasScript1

        monScript = scriptPro.getScript("vnd.sun.star.script:" &

nomScript & "?language=Basic&location=application")

        ' appel de script simple, sans arguments et sans résultat en retour

        monScript.invoke(Arguinvoke1, Arguinvoke2, Arguinvoke3)

        On Error GoTo 0

        Exit Sub

 

PasScript1:

        Resume PasScript2

PasScript2:

        MsgBox("Script pas trouvé : " & nomScript, 16)

    End Sub

 

rem macro pour charger les services:

 Public Function LoadService() As Boolean

        On Error GoTo Sortie

        oServiceManager = CreateObject("com.sun.star.ServiceManager")

        oDesktop =

oServiceManager.createInstance("com.sun.star.frame.Desktop")

        oDispatcher =

oServiceManager.createInstance("com.sun.star.frame.DispatchHelper")

        oBasicLibraries =

CreateUnoService("com.sun.star.script.ApplicationScriptLibraryContainer")

        oDialogLibraries =

CreateUnoService("com.sun.star.script.ApplicationDialogLibraryContainer")

        If oBasicLibraries.hasByname("XrayTool") Then

            oXrayTool = oBasicLibraries.getbyname("XrayTool")

            oXrayModule = oXrayTool.getbyname("_Main")

        End If

        oBasicLibraries.loadlibrary("XrayTool")

        LoadService = True

Sortie:

        LoadService = False

    End Function

 

Je tiens disponible un module qui contient toutes ces macros permettant

de développer à partir de VB.

Si cela intéresse, il pourrait être publier sur le site

fr.openoffice.org ou en tant que codesnippet.

 

Cordialement.

Didier Dorange-Pattoret

 

---------------------------------------------------------------------

To unsubscribe, e-mail: [EMAIL PROTECTED]

For additional commands, e-mail: [EMAIL PROTECTED]

 

---------------------------------------------------------------------------------------

Wanadoo vous informe que cet  e-mail a ete controle par l'anti-virus mail.

Aucun virus connu a ce jour par nos services n'a ete detecte.

 

 

 

Répondre à