

![]() | 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: |
3 messages in org.openoffice.fr.progRe: [prog] fermer le document qui con...| From | Sent On | Attachments |
|---|---|---|
| Patrick ROUSSEL | Oct 20, 2004 2:44 pm | |
| Jovial | Oct 20, 2004 4:19 pm | |
| Bernard Marcelly | Oct 21, 2004 5:07 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 le document qui contient ma macro | Actions... |
|---|---|---|
| From: | Bernard Marcelly (marc...@club-internet.fr) | |
| Date: | Oct 21, 2004 5:07:40 am | |
| List: | org.openoffice.fr.prog | |
Boinjour, Oui, les exemples utilisent une variable monDocument, elle-même initialisée avec ThisComponent, seulement parce que c'est un cas simple et classique où on travaille sur un seul document, celui qui est en avant-plan. Si vous faites une macro qui manipule plusieurs documents, chacun doit être "pointé" par une variable distincte. Le nom de la variable importe peu (sauf pour vous y retrouver). A travers chaque variable de document vous avez accès à tous les objets et propriétés propres au document pointé par la variable : chargez le document, modifiez-le, sauvez-le, fermez-le, en utilisant les mêmes principes décrits dans les exemples.
Suite des commentaires dans le texte. Bernard
At 2004-10-21 01:19, Jovial wrote:
Bonjour Patrick Je pense qu'il faut attribuer un nom à chaque document: essaye cela (non testé)
oDoc1 = This component ' là ou se trouve cette macro oDoc2 = stardesktop.loadComponentFromURL("chemin du fichier", "_blank", 0, arg()) 'liste instructions ' ...
oDoc1 .close(True)
' d'après le bouquin oDoc1 .dispose est déconseillé
JeanLuc
Patrick ROUSSEL a écrit : 1. Est-il possible d'ouvrir une boîte de dialogue (en cliquant sur une icône sur le bureau par ex.)
sans lancer le document qui la contient?
Non. Si tu as besoin d'une boîte de dialogue indépendante d'un document, il faut la créer dans une bibliothèque du conteneur soffice.
2. Si non (et j'ai comme un pressentiment...) comment faire pour: - fermer automatiquement le document qui contient la macro de lancement de la boîte de dialogue une fois que celle-ci est ouverte, ou lorsqu'elle qu'elle se ferme (j'ai essayé avec ThisComponent.dispose(), mais au lieu de fermer le document contenant la macro, cela a ferme le nouveau document ouvert par la boîte de dialogue),
ThisComponent est une fonction qui renvoie le document OOo actuellement affiché en premier plan. Tu dois distinguer les documents en utilisant des variables intermédiaires qui elles pointent chacune sur un document. Alors que ThisComponent renvoie un objet dépendant de l'instant où on l'appelle.
- ou remplacer le contenu de la fenêtre ouverte (fichier sxw) par le nouveau document lancé par la boîte de dialogue (c'est un formulaire). J'ai là aussi essayé, avec le paramètre SearchFlag, mais cela ne semble fonctionner que pour un document préalablement ouvert avec LoadComponentFromURL. Or, ce que je souhaiterais faire, c'est remplacer le contenu du document contenant la macro par le formulaire (LoadComponentFromURL ouvre un deuxième document, dont le contenu peut être remplacé, mais le document initial reste lui toujours ouvert).
Donc fermer le document initial. Bon courage, c'est en forgeant qu'on devient forgeron. Bernard







