![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Visio Forum d'entraide sur Microsoft Office Visio (schémas et diagrammes) |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: octobre 2007
Messages: 9
|
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 :
Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument) ThisDocument.VideDocument ThisDocument.Raz_Gabari ThisDocument.Save End Sub Code :
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 :
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 Merci par avance. Christophe |
|
|
|
|
|
#2 (permalink) |
|
Invité de passage
![]() Date d'inscription: octobre 2007
Messages: 9
|
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 :
Private Function Document_QueryCancelDocumentClose(ByVal doc As IVDocument) As Boolean Document_BeforeDocumentClose = True End Function Code :
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 |
|
|
|
![]() |
![]() |
||
VBA Visio 2000 - Problème avec BeforeDocumentClose
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|