[HS][Writer] Fermer un document

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

[HS][Writer] Fermer un document

Messagepar zabdoul60460 » 14 Août 2019 08:31

Bonjour,
A la fin de l'exécution de l'une de mes macros, je souhaite fermer le document Write sans avoir le fenêtre dialogue d'enregistrement d'un document modifié (Le document ... a été modifié, souhaitez-vous enregistrer les modifications apportées - Enregistrer - Ignorer - Annuler).

J'ai tenté plusieurs manipulations sans succés.

1/ J'ai associé une macro à l'évenement 'Le document va être fermé'.
Code : Tout sélectionner   AgrandirRéduire
sub Fermeture
ThisComponent.setModified(False)
end sub


Je n'ai plus le dialogue mais le document ne se ferme pas automatiquement.

2/ J'ai créé une autre macro, qui cette fois n'est pas associé à un évement mais qui s'exécute à la fin de mon code

Code : Tout sélectionner   AgrandirRéduire
Sub CloseDoc
   on error goto err
      document = ThisComponent.CurrentController.Frame
      
      Globalscope.BasicLibraries.loadLibrary("Tools")
      oFrame = ThisComponent.CurrentController.getFrame()
   
      ThisComponent.removePrintJobListener(printListener)
      
      ThisComponent.setModified(false)
      DisposeDocument(ThisComponent)
   err:
End Sub


Pourriez-vous m'aider à trouver une solution qui ferme automatiquement le document sans aucun message.

Vous remerciant par avance.
Dernière édition par zabdoul60460 le 27 Août 2019 18:35, édité 2 fois.
Ooo 4.1.6
Mac Os et Windows
zabdoul60460
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 14 Août 2019 08:15

Re: [Writer] Fermer un document

Messagepar Jeff » 14 Août 2019 09:15

Bonjour et bienvenue,

Je ne maîtrise pas les macros, mais ce sujet a déjà été abordé sur le forum, voir :
search.php?st=0&sk=t&sd=d&sr=posts&keywords=writer%2Bferm%2A&fid%5B%5D=8&fid%5B%5D=15&sf=titleonly

Je pense plus particulièrement à :
viewtopic.php?f=8&t=25469&p=139234&hilit=fermer+document#p139234

A +
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.7 sur Debian Stable LXDE i686 10.2 (buster) et sur Win 10 pro x64
Jeff
GourOOu
GourOOu
 
Message(s) : 8196
Inscrit le : 18 Sep 2006 10:40
Localisation : France

Re: [Writer] Fermer un document

Messagepar OOotremer971 » 14 Août 2019 10:36

Bonjour,

Code : Tout sélectionner   AgrandirRéduire
Sub FermerDocument
ThisComponent.setModified(False)
on Error Resume Next
Thiscomponent.close(True)
On Error GoTo 0
End Sub


Attention ce bout de code n'enregistre pas le fichier, il le ferme sans sommation. Il faudrait ajouter :
Code : Tout sélectionner   AgrandirRéduire
Thiscomponent.Store


A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Ubuntu
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2145
Inscrit le : 16 Avr 2010 14:31

Re: [Writer] Fermer un document

Messagepar zabdoul60460 » 14 Août 2019 15:08

Bonjour,

En utilisant le code proposé :

Code : Tout sélectionner   AgrandirRéduire
Sub FermerDocument
ThisComponent.setModified(False)
on Error Resume Next
Thiscomponent.close(True)
On Error GoTo 0
End Sub


Le document se ferme bien mais j'ai la fenêtre Ooo 'Récupération de document Ooo' qui apparait avec aucun document dans la liste.
Lorsque je clique sur OK, Ooo se relance.
Je pense que l'instruction close génére cette erreur mais je ne sais pas comment la contourner.
Merci par avance pour votre aide.
Ooo 4.1.6
Mac Os et Windows
zabdoul60460
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 14 Août 2019 08:15

Re: [Writer] Fermer un document

Messagepar Dude » 14 Août 2019 16:10

Salut,

Code : Tout sélectionner   AgrandirRéduire
      DisposeDocument(ThisComponent)

D'où sort cette fonction ?
C'est la propriété .dispose qui faut utiliser.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21131
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Writer] Fermer un document

Messagepar OOotremer971 » 14 Août 2019 16:28

zabdoul60460 a écrit:Le document se ferme bien mais j'ai la fenêtre Ooo 'Récupération de document Ooo' qui apparait avec aucun document dans la liste.

je ne reproduis pas avec ma configuration. Est-ce que tu peux tester ce fichier en cliquant sur le bouton au milieu de la page ? :
Pièces jointes
FermerDocument.odt
(11.27 Kio) Téléchargé 16 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Ubuntu
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2145
Inscrit le : 16 Avr 2010 14:31

Re: [Writer] Fermer un document

Messagepar marhra » 17 Août 2019 08:36

Bonjour,

Si le but est d'enregistrer puis fermer, tu peux aussi essayer :
Code : Tout sélectionner   AgrandirRéduire
Sub FermerDocument
        ThisComponent.Store(True)    'Même action que le bouton Enregistrer de la barre d'outils
   on Error Resume Next
   Thiscomponent.close(True)
   On Error GoTo 0                '
End Sub


Ça fonctionne très bien avec Calc, pourquoi pas avec Writer ?
LibreOffice 6.0.3.2 sur Ubuntu 16.04 LTS ou Windows 10 Pro au travail
LibreOffice 6.3.0 sur MacOS Mojave à la maison
Avatar de l’utilisateur
marhra
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 17
Inscrit le : 06 Jan 2010 18:53
Localisation : Ardennes

Re: [Writer] Fermer un document

Messagepar zabdoul60460 » 27 Août 2019 14:19

Bonjour à tous,
Désolée pour cette réponse tardive, j'étais en congés ;-)
OOotremer971 j'ai testé ton fichier et effectivement, il se ferme sans erreur !
L'enchainement de mes macros pose peut-être un problème !!!
Donc dans mon contexte , cela n'a pas résolu le problème
Une autre idée ?
Merci pour votre aide.
Sincèrement.
Ooo 4.1.6
Mac Os et Windows
zabdoul60460
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 14 Août 2019 08:15

Re: [Writer] Fermer un document

Messagepar Dude » 27 Août 2019 18:42

zabdoul60460 a écrit:Donc dans mon contexte , cela n'a pas résolu le problème
Une autre idée ?

Oui, fournis un document exhaustif permettant de comprendre ton contexte.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21131
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Writer] Fermer un document

Messagepar Bidouille » 03 Oct 2019 10:48

Dernière visite le : 28 Août 2019 20:00

30 jours plus tard, la situation n'ayant pas évoluée, je classe donc le fil HS.

Libre à l'auteur de rouvrir sa question, cette fois, en l'accompagnant d'un document.
Néanmoins, il est toujours pénible d'avoir ce type de question qui n'apporte rien à la base de connaissances.
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 10219
Inscrit le : 08 Nov 2005 17:23
Localisation : Brest, France


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : MSN [Bot] et 3 invité(s)