Vraag & Antwoord

Programmeren

Word2003 (VBA), autonew procedure

3 antwoorden
  • 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.
  • 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.
  • 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..

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.