Comparez les prix des domaines et des services informatiques des vendeurs du monde entier

Temps d'exécution des erreurs lors de l'annulation d'un dialogue 'Save As', Affiché à travers VBA

J'ai une macro qui formate le document enfantement, puis l'enregistre en utilisant
ActiveDocument.Save

.

Cependant, parfois, le document n'est pas encore enregistré et, dans certains cas, je ne veux pas l'enregistrer. Malheureusement, appuyez sur un bouton 'Cancel' En cas de mappage de dialogue 'Save As' provoque une erreur d'exécution /4198/ -

L'équipe a échoué

Est-ce que quelqu'un sait comment je peux l'empêcher? Merci.
Invité:

Agathe

Confirmation de:

Essayez d'effectuer les étapes suivantes en ajoutant des instructions de manutention des erreurs:


On Error Resume Next 'to omit error when cancel is pressed
ActiveDocument.Save

If Err.Number <> 0 Then 'optional, to confirmed that is not saved
MsgBox "Not saved"
End If
On Error GoTo 0 'to return standard error operation

Darius

Confirmation de:

Mis à jour: maintenant

1. Vérifier si le fichier a été précédemment enregistré ou non

2. Si le fichier n'est pas enregistré, puis pour afficher la boîte de dialogue
SaveAs

Processus géré utilisé
Pour enregistrer le fichier ou le processus
Cancel


le code


Dim bSave As Boolean
If ActiveDocument.Path = vbNullString Then
bSave = Application.Dialogs/wdDialogFileSaveAs/.Show
If Not bSave Then MsgBox "User cancelled", vbCritical
Else
ActiveDocument.Save
End If

Ernest

Confirmation de:

Pour les développeurs vsto, S'il vous plaît aller ici


if /Globals.ThisAddIn.Application.ActiveDocument.Path == String.Empty/
{
Word.Dialog dlg;
Object timeout = 3000;
dlg = Globals.ThisAddIn.Application.Dialogs[
Word.WdWordDialog.wdDialogFileSaveAs];
int result = dlg.Display/ref timeout/;
}
else
{
Globals.ThisAddIn.Application.ActiveDocument.Save//;
}


En conséquence, il sera sauvegardé, quel bouton est enfoncé /0-Annuler, 1-OK, 2-Fermer/

Pour répondre aux questions, connectez-vous ou registre