5 messages in org.openoffice.fr.progRe: [prog] Prog Une erreur dans une m...
FromSent OnAttachments
Jean SympaJul 1, 2009 2:22 am 
Thibault VataireJul 1, 2009 3:00 am 
Jean SympaJul 1, 2009 8:15 am.jpg
Jean SympaJul 2, 2009 1:21 am 
Francois GattoJul 2, 2009 4:06 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] Prog Une erreur dans une macroActions...
From:Francois Gatto (oo@volcar.org)
Date:Jul 2, 2009 4:06:50 am
List:org.openoffice.fr.prog

Bonjour,

Les formulaires fonctionnent apparemment correctement.

Concernant la sécurité des macros, OpenOffice.org désactive par défaut l'exécution des codes.

Tu peux fixer toi même le niveau de sécurité désiré à partir du menu Outils>Options, puis OpenOffice.org>Sécurité et cliquer le bouton "Sécurité des macros". Enfin sélectionne le niveau envisagé.

Je pense que le "niveau de sécurité moyen" est suffisant pour un usage courant car il y a une demande d'autorisation avant chaque exécution.

Bonne continuation.

Jean Sympa a écrit :

Merci Thibault,

Mon exemple se trouve ici:

http://www.cijoint.fr/cjlink.php?file=cj200906/cij0oOkNzL.odb

J'ai placé le code sur une seule ligne et j'ai compilé la macro.

Quand j'ouvre le formulaire et clique sur le bouton Client:

- en mode Ouvrir: Il ne se passe rien. - en mode Modifier: j'accède aux propriétés du bouton.

Quand je veux exécuter la macro, j'ai le message:

Pour des raisons de sécurité, il est impossible d'exécuter cette macro.

Pour plus d'information, vérifiez les paramètres de sécurité.

J'y perds mon latin

Cordialement

Papy

Problème de mise en forme de mon message.

Les deux lignes

OpenForm( thisComponent.ActiveConnection.Parent.DatabaseDocument.FormDocuments, et thisComponent.ActiveConnection, "FmTbClients")

correspondent en fait à une seule et même ligne de code.

Cordialement,

T. Vataire

----- Mail Original ----- De: "Jean Sympa" <jsy@free.fr> À: pr@fr.openoffice.org Envoyé: Mercredi 1 Juillet 2009 17h16:10 GMT +02:00 Harare / Pretoria Objet: Re: [prog] Prog Une erreur dans une macro

Merci Thibault,

J'ai effectué le remplacement. A la compilation il y a une erreur

Cordialement Papy Thibault Vataire a écrit : Bonjour,

Lorsque l'on associe l'exécution d'une macro à un évènement de l'application en passant par le menu Outils > Personnaliser > Événements, l'évènement à l'origine du déclenchement de la macro n'est pas passé en paramètre.

Il faut donc remplacer :

Sub onClickOuvrirFmTbClients( oEvent as variant ) OpenForm( OEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments, OEvent.Source.Model.Parent.ActiveConnection, "FmTbClients") end sub

par :

Sub onClickOuvrirFmTbClients() OpenForm( thisComponent.ActiveConnection.Parent.DatabaseDocument.FormDocuments, thisComponent.ActiveConnection, "FmTbClients") end sub

Cordialement,

T. Vataire

----- Mail Original ----- De: "Jean Sympa" <jsy@free.fr> À: "Prog" <pr@fr.openoffice.org> Envoyé: Mercredi 1 Juillet 2009 11h23:18 GMT +02:00 Harare / Pretoria Objet: [prog] Prog Une erreur dans une macro

Bonjour à toutes et à tous,

Prog Une erreur dans une macro

Je voudrais, au démarrage d'une application, afficher un menu avec trois options. Je voudrais associer à chaque option un bouton qui me permettrait d'ouvrir un sous formulaire. Le retour d'un sous formulaire au menu ferait appel à un deuxième bouton.

Jean-Michel Pierre et François Gatto m'ont proposé un exemple. Il y a une erreur dans le formulaire, ouverture des formulaires. Je n'arrive pas à la corriger

REM ***** BASIC *****

' ouverture des formulaires

' se fait par appel d'une fonction

Sub onClickOuvrirFmTbClients( oEvent as variant )

OpenForm( OEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments, OEvent.Source.Model.Parent.ActiveConnection, "FmTbClients")

end sub

*Erreur d'exécution BASIC*

*L'argumentt n'est pas facultatif*

Sub onClickOuvrirFmTbRegion( oEvent as variant )

OpenForm( OEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments, OEvent.Source.Model.Parent.ActiveConnection, "FmTbRegion")

end sub

Sub onClickOuvrirFmTbDestinataires( oEvent as variant )

OpenForm( OEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments, OEvent.Source.Model.Parent.ActiveConnection, "FmTbDestinataires")

end sub

Sub onClickOuvrirFmTbProduits( oEvent as variant )

OpenForm( OEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments, OEvent.Source.Model.Parent.ActiveConnection, "FmTbProduits")

end sub

Sub onClickOuvrirFmTbLivraisonProduits( oEvent as variant )

OpenForm( OEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments, OEvent.Source.Model.Parent.ActiveConnection, "FmTbLivraisonProduits")

end sub

function OpenForm( formContainer as variant, oConnection as variant, sFormName as string) as variant

Dim aProp(1) As New com.sun.star.beans.PropertyValue

aProp(0).Name = "ActiveConnection"

aProp(0).Value = oConnection

aProp(1).Name = "OpenMode"

aProp(1).Value = "open"

OpenForm = formContainer.loadComponentFromURL(sFormName,"_blank",0,aProp())

end function

Avec mes remerciements

Cordialement

Papy