Ga naar inhoud

Word2003 (VBA), autonew procedure


anoniem

Aanbevolen berichten

Met de autonew procedure kun je in Visual Basic for Applications code uit laten voeren indien er een nieuw document wordt gemaakt op basis van het sjabloon dat de procedure bevat. Ik wil dat indien er een nieuw doc wordt gemaakt de gebruiker een aantal velden (in bestand/eigenschappen/samenvatting zoals titel en onderwerp) aanpast en het document opslaat. Dit werkt goed indien er 1 document geopend wordt op basis van het sjabloon. Indien er echter al 1 doc is geopend op basis van het sjabloon en er wordt een nieuw doc gemaakt op basis van sjabloon, dan worden de dialoogvensters en wat de gebruiker er invult toegepast op het 1e geopende document en niet op het nieuwe document. Weet iemand hoe je dit laatste kunt realiseren? Dus de ingevoerde gegevens van de gebruiker (onderwerp , titel, bestandsnaam+locatie)toepassen op het nieuwe document en niet op een eerder geopend doc op basis van hetzelfde sjabloon.
Link naar reactie
Het blijkt veroorzaakt te worden door een userform dat in de template zit en dat ik aanroep in de autonew procedure. Als ik dat weglaat gaat alles goed, maar die wil ik wel laten zien omdat ik gebruikersinvoer die wordt gevraagd in de autonewprocedure wil invoegen in het nieuwe document. De focus (het actieve document) ligt in het nieuwe geopende document als dat het 1e doc is op basis van de dot die de autonew procedure bevat. Heb je al een doc open op basis van de dot en je opent een nieuw doc op basis van de dot dan gaat de gebruikersinvoer naar het 1E GEOPENDE DOC op basis van de dot en niet naar de nieuwe. Is hier een oplossing voor? ____________________________________________ Je kan het zelf ervaren door een dot te maken met een userform1 die wordt aangeroepen in de autonew procedure: Maak een simpele userform1 met een OK button: Indien de button geklikt wordt verdwijnt de userform weer. [i:acbaa19baf] Private Sub CommandButton1_Click() UserForm1.Hide End Sub [/i:acbaa19baf] Maak een autonew procedure als volgt: [i:acbaa19baf] sub autonew userform1.show end sub [/i:acbaa19baf] Open verschillende docs op basis van de dot en je zult zien dat bij het maken van meerder docs op basis van de dot de focus bij het tonen van de userform gaat naar het 1e geopende doc op basis van de dot.
Link naar reactie
  • 4 weken later...
Ik weet niet of deze vraag nog openstaat, maar een mogelijke oplossing (in Word 2000) is de volgende: Declareer in het UserForm een publieke variabele van het type Document. [code:1:6319765e59]Public NewDoc as Document[/code:1:6319765e59] Zet deze in de AutoNew procedure als volgt: [code:1:6319765e59] Sub AutoNew() Set UserForm1.NewDoc = ActiveDocument UserForm1.Show End Sub [/code:1:6319765e59] Sla de gewenste waarden op in het NewDoc object, en activeer deze bij het afsluiten van het formulier [code:1:6319765e59] Sub CommandButton1_Click() .... NewDoc.Activate End Sub [/code:1:6319765e59] Klaar..
Link naar reactie
  • 3 weken later...

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...