Comment faire pour désactiver l'enregistrer comme invite de commandes?
If IsWorkbookOpen("CONTRACT\CONTRACTLIST_Cement.xlsx") Then
x = 0
Else
Application.DisplayAlerts = False
ActiveWorkbook.Close savechanges:=True
Application.DisplayAlerts = True
End If
Salut, malgré l'aide du code ci-dessus, l'enregistrer comme invite encore de temps en temps apparaît et sur le programme. Personne ne sait comment l'arrêter complètement? Le problème est que lorsque je clique sur enregistrer sous, il m'avertir qu'elle était encore ouverte.
OriginalL'auteur Ting Ping | 2013-07-16
Vous devez vous connecter pour publier un commentaire.
Essayer de code ci-dessous
Il est toujours bon de explcilty consulter le classeur plutôt que
ActiveWorkbook
OriginalL'auteur Santosh
Vous pouvez utiliser
Workbook_BeforeSave
Événement dans leThisWorkbook
objet de capturer l'utilisateur en sélectionnant enregistrer sous (ou en utilisant le raccourci clavier), ce qui aurait pour résultat de l'Enregistrer Comme l'invite affichée et laSaveAsUI
définie sur true. SiSaveAsUI
est vrai, cela signifie que l'utilisateur tente d'enregistrer le fichier en tant que quelque chose d'autre, de sorte que vous pouvez annuler l'opération enregistrer sous.Ouvrir la Fenêtre de Visual Basic (Alt + F11) et placez le code suivant dans
ThisWorkbook
.Désactiver Enregistrer Comme
Vous pouvez supprimer le
MsgBox
ligne si vous voulez; je l'ai mis là comme un exemple, si vous voulez, pour informer l'utilisateur que la fonction a été désactivéePour désactiver les deux les Enregistrer et de les Enregistrer en tant Que fonctionnalités, vous souhaitez supprimer le
if
déclaration et d'annuler l'opération d'enregistrement, indépendamment de si l'Enregistrer sous s'affiche.Désactiver Enregistrer et Enregistrer sous
Si vous voulez juste pour désactiver l'opération de sauvegarde, vous seulement besoin de regarder pour l'événement, où l'utilisateur d'économiser, mais le SaveAsUI est pas affichée (c'est à dire de l'utilisateur est tout simplement d'enregistrer le fichier).
Désactiver Enregistrer
Enfin, notez que l'utilisateur aura toujours une invite à enregistrer si l'utilisateur ferme le fichier. L'utilisateur ne sera pas en mesure d'enregistrer, le fichier se ferme, mais si vous voulez faire l'expérience d'être un peu plus propre, vous aurez besoin de faire un changement supplémentaire. Lorsqu'un utilisateur ferme un fichier Excel vérifie la
ThisWorkbook.Saved
variable pour voir si le fichier a été enregistré. Si elle est fausse, il invite l'utilisateur à Enregistrer le fichier. Pour éviter cela, nous pouvons définir cette valeur à true sans l'enregistrer, donc "tricher" Excel en pensant que le fichier a été enregistréDésactiver Enregistrer et Enregistrer sous, y compris après que l'Utilisateur tente de fermer le fichier
Ajoutez le code suivant après votre
Workbook_BeforeSave
code.Jaycal, l'utilisateur encore en mesure de réaliser la sauvegarde en appuyant sur Ctrl+S, peut-être vous pouvez le mettre de cette façon (à l'extérieur de Si SaveAsUI) : Si (Cancel = false) Then Cancel = true
Merci pour l'œil. L'OP a été en réalité que de demander de l'Enregistrer en tant Que fonctionnalité doit être désactivée, ce qui était le code que j'ai fourni. Pour rendre la réponse plus complète, Il montre maintenant comment faire pour désactiver uniquement Enregistrer, Enregistrer sous seulement, ou les deux, enregistrer et Enregistrer sous.
OriginalL'auteur Jaycal