Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Word2003 (VBA), autonew procedure

TheOnly
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

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