10 messages in org.openoffice.fr.progRe: [prog] accéder à un bouton depuis...
FromSent OnAttachments
Martin blaizotFeb 8, 2005 5:02 am 
Laurent GodardFeb 8, 2005 5:09 am 
Martin blaizotFeb 8, 2005 6:03 am 
Laurent GodardFeb 8, 2005 6:48 am 
mblaizotFeb 8, 2005 12:11 pm 
Bernard MarcellyFeb 10, 2005 2:38 am 
Martin blaizotFeb 10, 2005 6:46 am 
Alain NowakFeb 11, 2005 2:47 am 
Martin blaizotFeb 11, 2005 5:24 am 
Laurent GodardFeb 11, 2005 5:32 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] accéder à un bouton depuis le codeActions...
From:mblaizot (mar@cinesoft.fr)
Date:Feb 8, 2005 12:11:55 pm
List:org.openoffice.fr.prog

Bonsoir Laurent, et encore merci de te pencher sur mon pb.

C'est etrange as tu essayé le code snippet tel quel sans modif ?

Quasiment, tu trouveras ci-dessous un copié-collé du code que j'ai utilisé.

ta macro (l'equivalent de Test) est elle accessible ? on ne peut a priori pas appeler une macro d'un document depuis un autre par exemple

Le problème vient sûrement de quelque chose comme ça. Mais ce que je ne comprend pas c'est que cette Macro (Modif_Facture) semble accessible; je m'explique : J'ai créé cette macro pour mon document initial (Devis); mais comme mon document facture est créé par une copie du document initial, tous mes modules apparaissent pour les deux documents quand je regarde l'arborescence de mes macro (avec la petite roue crantée) : J'ai Sans nom1/Standard/[tous mes modules ET ().sxw/Standard/[tous mes modules].

Code :

'------------------------------------------------------------------------------------------- 'Assignation du bouton "Modifier" '------------------------------------------------------------------------------------------- Dim oDocument as Object Dim oView as Object Dim oDrawPage as Object Dim oForm as Object Dim oEvents(0) as New com.sun.star.script.ScriptEventDescriptor

oDocument = StarDesktop.getCurrentComponent oView = oDocument.CurrentController oDrawPage = oView.getActiveSheet.DrawPage

' get the first form oForm = oDrawPage.getForms.getByIndex(0)

oEvents(0).ListenerType = "XActionListener" oEvents(0).EventMethod = "actionPerformed" oEvents(0).AddListenerParam = "" oEvents(0).ScriptType = "StarBasic" oEvents(0).ScriptCode = "document:Standard.Modif_Facture.Test_bouton" oForm.registerScriptEvent(0, oEvents(0))

End Sub Sub Test(oEvt) Print oEvt.Source.Model.Name End Sub

Et voici le code que j'utilise pour créer le document "Facture" à partir du doc "Devis"

REM ***** BASIC ***** option explicit Global NomduFichier As String Sub facture Dim MonDocument As Object MonDocument = ThisComponent Dim MaFeuille As Object, celdes As Object MaFeuille = MonDocument.Sheets(0)

'------------------------------------------------------------------ 'Création du nouveau document : Facture = enregistrement du doc Devis comme doc Facture dans le bon dossier '-----------------------------------------------------------------

Dim PropFich() Dim Mois as string Dim Moi as string '---------------------------------------------------------------------------------------- 'Détermination de la variable Mois permettant d'enregistrer la facture dans le bon dossier '----------------------------------------------------------------------------------------- Mois = cstr( month(date)) select case Mois case 1: Moi = "Janvier" case 2: Moi = "Février" case 3: Moi = "Mars" case 4: Moi = "Avril" case 5: Moi = "Mai" case 6: Moi = "Juin" case 7: Moi = "Juillet" case 8: Moi = "Août" case 9: Moi = "Septembre" case 10: Moi = "Octobre" case 11: Moi = "Novembre" case 12: Moi = "Décembre" end select

NomduFichier = "file:///D:/Mes Documents/Cine Soft/Gestion Commerciale/Factures/"+Moi+"/"+Client_select+"("+devi+").sxw" MonDocument = ThisComponent MonDocument.storetoURL(NomduFichier, PropFich) Modifs () ' Modifs appel la routine qui permet de "transformer" le devis en facture end sub

Encore merci,

Martin