

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
12 messages in org.openoffice.fr.progRe: [prog] Fermer un formulaire| From | Sent On | Attachments |
|---|---|---|
| Arnaud POUSSIER | Dec 12, 2006 7:17 am | |
| JMD Jean-Marc Delmas | Dec 12, 2006 9:11 am | |
| Arnaud POUSSIER | Dec 12, 2006 10:27 am | |
| JMD Jean-Marc Delmas | Dec 13, 2006 12:03 am | |
| Arnaud POUSSIER | Dec 13, 2006 12:21 am | |
| Arnaud POUSSIER | Dec 13, 2006 10:05 am | |
| Arnaud POUSSIER | Dec 13, 2006 10:07 am | |
| JMD Jean-Marc Delmas | Dec 14, 2006 2:15 am | |
| Arnaud POUSSIER | Dec 14, 2006 4:04 am | |
| Arnaud POUSSIER | Dec 14, 2006 4:12 am | |
| JMD Jean-Marc Delmas | Dec 14, 2006 9:18 am | |
| Arnaud POUSSIER | Dec 14, 2006 9:24 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [prog] Fermer un formulaire | Actions... |
|---|---|---|
| From: | JMD Jean-Marc Delmas (jean...@centraliens.net) | |
| Date: | Dec 14, 2006 2:15:12 am | |
| List: | org.openoffice.fr.prog | |
arna...@douane.finances.gouv.fr a écrit :
Bonsoir je viens de faire un test avec la macro fermeture et j'ai un probléme avec cette ligne
oDocForms = oDoc.getFormDocuments() "run time error basic " "propriété ou méthode introuvable"
Dans mon précédent message il y avait ce commentaire :
<<Un détail qui a son importance : J'utilise "StarDesktop" et pas "ThisComponent". Dans ce cas, tu ne peux pas tester pas à pas dans l'éditeur de macros. Il n'y a pas d'autre solution pour tester que de tenter la fermeture du formulaire en lançant la macro "Fermeture". >>
Je m'aperçois que cet avertissement n'était pas assez explicite. Excuse m'en, s'il te plaît.
Le message que tu as eu, apparaît systématiquement quand la macro est lancée à partir de l'éditeur de script OOBasic, voire quand il est simplement ouvert. Pour que cela fonctionne il faut que oDoc ait pour URL le fichier "...\TaBase.odb".
Tous les tests pas à pas donnent pour oDoc, soit l'IDE c'est à dire l'éditeur de macros, soit le formulaire contenu dans "TaBase.odb" ce qui ne convient également pas.
Je n'ai trouvé qu'un moyen de vérification : Pour vérifier le bon fonctionnement, je pars d'une base * fermée*, voire d'openoffice fermé puis j'ouvre le fichier "TaBase.odb", je double-clique sur mon formulaire qui s'ouvre alors. *Note qu'il n'est alors pas en mode "modification". *
A partir de là, seulement, je lance la macro de fermeture par "outils", "Macros", "Exécuter", ou bien j'actionne le bouton auquel la macro est associée . Le message n'apparaît alors pas et le formulaire se ferme. */Mais il ne faut pas ouvrir l'IDE de programmation/*.
J'ai été contraint d'utiliser "StarDesktop" car quand le formulaire est ouvert "ThisComponent" pointe sur le formulaire ouvert et pas sur le fichier "..\TaBase.odb", ce qui ne fonctionne alors pas. L'envers de la médaille est que "StarDeskTop" pointe sur le dernier document OpenOffice ouvert. Pour être sûr de ne pas perturber le fonctionnement de la macro, il est donc plus sûr de ne rien ouvrir d'autre que la base et le formulaire.
Maintenant, si tu trouves que la procédure que je te propose n'est pas assez sûre, tu peux aussi la blinder de la manière suivante :
Sub Fermeture2 Dim oDoc As Object, oFormClo As Object, oDocForms As Object Dim oDocs As Object, sForm As String
oDocs = StarDeskTop.getComponents.createEnumeration Do While oDocs.hasmoreElements oDoc = oDocs.NextElement If Instr(oDoc.URL, "Base.odb") <> 0 Then Exit Do Loop
oDocForms = oDoc.getFormDocuments() sForm = "Travail" oFormClo = oDocForms.getByName(sForm)
oFormClo.dispose End Sub
Tu vas y arriver. Il y a toujours une solution. Jean-Marc







