Document sluiten en een andere openen

Status
Niet open voor verdere reacties.

jackfish

Gebruiker
Lid geworden
10 sep 2010
Berichten
297
Beste mensen,

Ik heb een script in mijn formulier staan van een Msgbox waarin gevraagd wordt of de gebruiker een document wil opslaan.
als die ja kiest moet het bestand opgeslagen en afgesloten worden. Dat lukt.

Dan moet er eigenlijk ook een Msgbox verschijnen die vraagt of de gebruiker nog een formulier wil invullen.
Bij de keuze ja moet het formulier geopend worden.
Bij de keuze nee moet Word afgesloten worden.

Ik krijg dat niet voor elkaar. Wie kan mij ermee helpen?
 
Wil je de vraag 'of de gebruiker nog een formulier wilt invullen' al bij de start van een document of alleen bij het afsluiten van een formulier?
 
ik zou liever met knoppen werken:

- opslaan en sluiten
- opslaan en nieuw formulier
 
Kun je volgende code testen?
Private Sub Document_Close()

On Error Resume Next

strTemplateDir = "C:\Temp\"

Msg = MsgBox("Wilt u het formulier opslaan?", vbYesNo, "Afsluiten")
Select Case Msg
Case 6 'yes
ActiveDocument.Save
Case 7 'no
ActiveDocument.Close SaveChanges:=False
End Select

Msg = MsgBox("Wilt u een nieuw formulier maken?", vbYesNo, "Afsluiten")
Select Case Msg
Case 6 'yes
Documents.Add (strTemplateDir & "formulier.dotm")
Case 7 'no
ActiveDocument.Close SaveChanges:=False
End Select

End Sub
 
Handboekict, dank je wel voor de code. Geweldig! De messageboxen lopen precies zoals ik het mijzelf voorstelde. Alleen wordt het 1e active document niet afgesloten (ondanks de activedocument.close savechanges:=false) Be advised Gr Jackfish
 
Handboekict, met die laatste aanpassing wordt het actieve document inderdaad afgesloten maar daarmee wordt het script ook gestopt. Ofwel de tweede messagebox die vraagt of mensen nog een nieuw formulier willen openen, komt niet op. Is dat wel te omzeilen?
Gr Jackfish
 
Ik voel mij uitgedaagd :-) handboekict, let op. De eerste optie is de gebruiker te vragen of hij nog een document wil bewerken voordat de vraag komt of het opgeslagen moet worden. Voelt niet heel chique. Een andere optie die ik op het internet las luidde als volgt. Neem een macro op in de code die, voordat het document wordt afgesloten een macro zet in normal.dot, dat zichzelf vervolgens start en het nieuwe document aanroept. En? Gr Jackfish
 
Laatst bewerkt:
Goed dat je er al over na hebt gedacht.
Echter, ik wil eerst terugkomen op de eerste code bij #4.
Deze werkt namelijk m.i. wel.
Het actieve document wort wel afgesloten.

Mijn vraag is: in welk document zet jij de code?
Hoogstwaarschijnlijk is dit geen sjabloon.
 
Hallo handboekict, je hebt gelijk. het document dat ik gebruik is geen sjabloon maar een .docm De macro plaatste ik in thisdocument.
 
Je hebt gelijk. Dat ga ik doen. Ook zal ik ff checken of dan de code werkt. Gr. jackfish
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan