IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visio Discussion :

VBA Visio 2000 - Problème avec BeforeDocumentClose


Sujet :

Visio

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut VBA Visio 2000 - Problème avec BeforeDocumentClose
    Bonjour,

    Je développe une appli sous Visio 2000 qui permettra de schématiser les composants réseau (Websphere, port ethernet,etc...).
    Cet appli gèrera plusieurs schémas dans un seul document sous une seule page.
    Je souhaitais appeler la BeforeDocumentClose pour vider la page du schéma générer, fermer les gabarits chargés et sauvegarder le document, afin qu'à la prochaine ouverture du document, la page soit vierge de tout schéma.
    Mais cette fonction (BeforeDocumentClose) s'exécute pas vraiment avant la fermeture mais pendant la fermeture (d'après mes test).

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument)
        ThisDocument.VideDocument
        ThisDocument.Raz_Gabari
        ThisDocument.Save
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Sub VideDocument()
    Dim ShpObj As Visio.Shape
     
        ActiveWindow.SelectAll
        For Each ShpObj In Visio.ActiveWindow.Selection
            Call Init.Verrou(ShpObj, 0)
            ShpObj.Delete
        Next ShpObj
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim Gabari As Collection
    Public Sub Raz_Gabari()
    Dim StnObj As Visio.Document
     
        If Gabari.Count <> 0 Then
            For Each Element In Gabari
                If Element <> " " Then
                    Set StnObj = Documents.Open(Element)
                    StnObj.Close
                End If
            Next Element
        End If
    End Sub
    Quelqu'un pourrait-il m'aider à trouver pourquoi cela ne fonctionne pas ou passer au delà de cette erreur ?

    Merci par avance.

    Christophe

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    J'ai trouvé comment faire.
    Au lieu d'utiliser BeforeDocumentClose, j'utilise QueryCancelDocumentClose qui permet d'empecher la fermeture du document si nous faisons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Function Document_QueryCancelDocumentClose(ByVal doc As IVDocument) As Boolean
        Document_BeforeDocumentClose = True
    End Function
    mais pour executer ce que je voulais faire avec le BeforeDocumentClose, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Function Document_QueryCancelDocumentClose(ByVal doc As IVDocument) As Boolean
        ThisDocument.VideDocument
        ThisDocument.Raz_Gabari
        ThisDocument.Save
        'Code permettant de ne pas afficher la boite de message
        'Voulez-vous enregistrer ?
        Application.AlertResponse = 7

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E][debutant] Problème avec l'ouverture de fichiers .INI
    Par Masmeta dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/03/2007, 08h36
  2. [Débutant][|MSSQL 2000] problème avec Overlaps
    Par Spoutnik dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/11/2006, 10h33
  3. [VBA-Excel] Petit problème avec les formulaires
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/08/2006, 09h22
  4. [VBA access 2000]problème surement très bête
    Par herendel dans le forum Access
    Réponses: 5
    Dernier message: 27/04/2006, 14h40
  5. VBA Excel (débutant) - problème avec la copie d'un range
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/01/2006, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo