Ciao ragazzi, premesso che sono alle prime armi col VB, ho scritto questo codice (si tratta di una macro per word):
codice:
Sub AutoNew()
On Error GoTo GestioneErrori
ActiveDocument.Unprotect Password:="XXX"
UserForm1.Show
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, Password:="XXX"
UserForm2.Show
ActiveDocument.Save
UserForm3.Show
GestioneErrori:
Do While Err.Number = 4198
ActiveDocument.Save
Loop
End Sub
Il problema è questo, se l'utente non salva il documento si verifica l'errore di run-time: 4198.
Quindi ho pensato di realizzare un ciclo il quale dovrebbe far apparire finche si verifica l'errore la form "salva con nome" di windows.
Tuttavia eseguendo il codice quando appare il form "salva con nome" se clicco sulla "x" o su "annulla" alla prima mi mostra nuovamente la form del salvataggio ma se riclicco di nuovo sulla x o su annulla, ovviamente si verifica come prima l'errore di runtime, il 4198, e quindi dovrebbe di nuovo eseguire l'istruzione: ActiveDocument.Save, ma questo non accade mostra la mascherina per eseguire il debug.