Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modèle et conservation de contexte

1 réponse
Avatar
Crespin.Quartz
Bonjour,

J'ai créé une application sous forme de modèle qui est stockée dans le
répertoire de DEMARRAGE de word.
Cette application maintient un contexte, or à la fermeture du dernier
document (sans fermer word), le contexte est perdu!
Je peux :
- soit le sauver sur disque, mais cela fait encore du boulot
- soit controler la fermeture des documents depuis l'application et
créer un nouveau document si nécessaire ... mais cela ne marche pas
vraiment depuis le modèle!

Merci de votre aide!

Yves


Voici le code:

/* ========== cut here ========== */
Public Sub AutoClose()
Dim doc As Document

''' Les données internes de la macro sont effacées
''' si tous les documents sont fermés.
''' Dans ce cas, je crée un document.
If Documents.Count > 1 Then
Application.ActiveDocument.Close
Else
Set doc = Application.ActiveDocument
Documents.Add
doc.activate
doc.Close
Set doc = Nothing
End If
End Sub
/* ========== cut here ========== */

1 réponse

Avatar
Anacoluthe
Bonjour !

Pas tout compris l'histoire de votre 'contexte'
mais il y a indubitablement un problème dans votre AutoClose :
AutoClose s'exécute avant de fermer le document : cette macro
ne doit donc pas comporter de commande Close puisque par définition
elle sera suivie d'une commande Close !!!! ;-) Compris ?

Anacoluthe
« Fermer les maisons closes, c'est un pléonasme. »
- ARLETTY

'Yves Crespin' nous a écrit ...
J'ai créé une application sous forme de modèle qui est stockée dans le
répertoire de DEMARRAGE de word.
Cette application maintient un contexte, or à la fermeture du dernier
document (sans fermer word), le contexte est perdu!
Je peux :
- soit le sauver sur disque, mais cela fait encore du boulot
- soit controler la fermeture des documents depuis l'application et
créer un nouveau document si nécessaire ... mais cela ne marche pas
vraiment depuis le modèle!

Merci de votre aide!

Yves


Voici le code:

/* ========== cut here ========== */
Public Sub AutoClose()
Dim doc As Document

''' Les données internes de la macro sont effacées
''' si tous les documents sont fermés.
''' Dans ce cas, je crée un document.
If Documents.Count > 1 Then
Application.ActiveDocument.Close
Else
Set doc = Application.ActiveDocument
Documents.Add
doc.activate
doc.Close
Set doc = Nothing
End If
End Sub
/* ========== cut here ========== */