Page 1 sur 1

[HS][Writer] Fermer un document

Publié : 14 août 2019 09:31
par zabdoul60460
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

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

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.

Re: [Writer] Fermer un document

Publié : 14 août 2019 10:15
par Jeff
Bonjour et bienvenue,

Je ne maîtrise pas les macros, mais ce sujet a déjà été abordé sur le forum, voir :
https://forum.openoffice.org/fr/forum/s ... =titleonly

Je pense plus particulièrement à :
https://forum.openoffice.org/fr/forum/v ... nt#p139234

A +

Re: [Writer] Fermer un document

Publié : 14 août 2019 11:36
par OOotremer971
Bonjour,

Code : Tout sélectionner

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

Thiscomponent.Store
A+

Re: [Writer] Fermer un document

Publié : 14 août 2019 16:08
par zabdoul60460
Bonjour,

En utilisant le code proposé :

Code : Tout sélectionner

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.

Re: [Writer] Fermer un document

Publié : 14 août 2019 17:10
par Dude
Salut,

Code : Tout sélectionner

		DisposeDocument(ThisComponent)
D'où sort cette fonction ?
C'est la propriété .dispose qui faut utiliser.

Re: [Writer] Fermer un document

Publié : 14 août 2019 17:28
par OOotremer971
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 ? :

Re: [Writer] Fermer un document

Publié : 17 août 2019 09:36
par marhra
Bonjour,

Si le but est d'enregistrer puis fermer, tu peux aussi essayer :

Code : Tout sélectionner

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 ?

Re: [Writer] Fermer un document

Publié : 27 août 2019 15:19
par zabdoul60460
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.

Re: [Writer] Fermer un document

Publié : 27 août 2019 19:42
par Dude
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.

Re: [Writer] Fermer un document

Publié : 03 oct. 2019 11:48
par Bidouille
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.