macro voor weergave author, telefoonnummer en CreateDate

Status
Niet open voor verdere reacties.

Virusbeatboxing

Gebruiker
Lid geworden
11 nov 2011
Berichten
41
Beste,

Ik wens in Word 2010 een macro op te nemen die, bij het openen van een sjabloon (.dotx) , het volgende doet:

- de naam van de persoon die het document heeft aangemaakt, weergeeft;
- het algemeen telefoonnummer waarop deze persoon bereikbaar is weergeeft;
- de datum waarop het document is aangemaakt tevens ook weergeeft.

Momenteel hebben we een macro die maar half het werk doet. Zo wordt de datum telkens aangepast wanneer het document (.docx) wordt geopend. Dit mag dus in de toekomst niet meer voorkomen daar we enkel de datum waarop het document werd aangemaakt, wensen te behouden.

Een eerste opzet heb ik wensen te realiseren zonder macro's en dit via snelonderdelen > veld > CreateDate (voor de datum) en Author (voor de persoon die het document heeft aangemaakt). Dit werkt MAAR, indien er bepaalde zaken in de toekomst moeten worden gewijzigd, moet dit voor elk bestand worden aangepast wat dus resulteert in non-efficiëntie.

Hopelijk kan mij hier iemand wat bij helpen.

Greetz
 
Laatst bewerkt:
Er is écht niemand die me hierbij kan helpen? Zelfs ook geen kleine tip geven of dergelijke?
Het is namelijk een zeer vervelend probleem...
 
Ik snap niet waarom je daar een macro voor gebruikt; als je een sjabloon maakt, kun je met Velden de juiste velden gewoon invoegen in je document. Maak je vervolgens een nieuw document op basis van de sjabloon (ik neem toch maar aan dat je dat bedoelt met 'bij het openen van een sjabloon (.dotx)') dan worden de gegevens netjes ingevuld.
Wat zou die macro daar aan toe moeten voegen?
 
Het is namelijk zo dat er een migratie is gebeurd in het bedrijf van XP naar w7. Voordien werkte deze macro in office 2003 maar nu maakt men gebruik van office 2010. Hier werkt deze macro niet.

Wij beschikken over een 700-tal sjablonen dus, ik denk dat u ook kan begrijpel dat deze 700 sjablonen aan te passen, een onbegonnen werk is. Door hiervan een macro te maken, valt dit werk ietwat makkelijker te verrichten.
 
Dan snap ik nog steeds niet wat je nu wilt:
Ik wens in Word 2010 een macro op te nemen die, bij het openen van een sjabloon (.dotx) , het volgende doet:

- de naam van de persoon die het document heeft aangemaakt, weergeeft;
- het algemeen telefoonnummer waarop deze persoon bereikbaar is weergeeft;
- de datum waarop het document is aangemaakt tevens ook weergeeft.

Je vraagt om een macro die een sjabloon opent; begrijp ik nu dat diezelfde macro 700 sjablonen achter elkaar moet openen? En wat gaat er precies fout? VBA zou in 2010 in grote lijnen net zo moeten werken als in 2003.
 
Neen! Wij hebben een 700-tal sjablonen die door het hele bedrijf gebruikt worden. Telkens een bepaalde brief moet worden opgesteld, opent er iemand een sjabloon waarin dus reeds een standaardtekst instaat.
Toch zijn er nu met de migratie enkele problemen opgedoken. Zo geeft hij de naam van de persoon die het opent, het algemene telefoonnummer van deze persoon en de datum wanneer het document werd aangemaakt, niet meer weer.

Nu wens ik via een macro deze functionaliteiten toch te kunnen toevoegen aan de sjablonen. Ik had reeds uitgetest om dit te doen via Snelonderdelen, toch nam dit voor een 10-tal documenten een eindje in beslag. Ik hoop dat u dan kan begrijpen dat het een onbegonnen werk is om dit op manuele wijze te verrichten voor ALLE 700 sjablonen. Daarom wordt er nu gekozen om alles in een macro te zetten.

Duidelijker dan dit kan ik het jammer genoeg niet uitleggen...
 
Laatst bewerkt door een moderator:
Ik zou eerst eens kijken naar je instellingen, want ik kan mij niet voorstellen dat die specifieke zaken ineens niet meer werken. Of, beter nog, zet een voorbeeldje van zo'n sjabloon in de draad, dan kunnen we het zelf uitproberen. Overigens is het verder niet zo'n probleem om een sjablonenmap in één beweging aan te passen, mits de aanpassingen voor alle sjablonen hetzelfde zijn. Maar ik wil eigenlijk wel met eigen ogen zien welke unieke velden je in 2003 hebt gebruikt die in 2010 niet meer werken, want ik geloof daar dus helemaal niet in...
 
Ik heb uiteindelijk het volgende gevonden:

Code:
Sub AutoNew()

' inserting author name
Selection.GoTo What:=wdGoToBookmark, Name:="naam"
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "AUTHOR  ", PreserveFormatting:=True
    
' inserting phone number
Selection.GoTo What:=wdGoToBookmark, Name:="telefoonnummer"
Selection.TypeText ("012/34 56 78")

' inserting create date
Selection.GoTo What:=wdGoToBookmark, Name:="datum"
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "CREATEDATE  \@ ""d MMMM yyyy"" ", PreserveFormatting:=True
        
End Sub

Dit zorgt er dus voor dat, bij het openen van een Word-sjabloon, de naam van de persoon die het opent, telefoonnummer en de create date wordt weergegeven.
Nu heb ik wel gemerkt dat, wanneer ik de sjablonen met deze macro op de server wil zetten (zodat iedereen deze sjablonen kan gebruiken), er een probleem opdook. Dit probleem is vervolgens opgelost door de macro toe te wijzen aan het sjabloon zelf. Dit moet dan wel voor élk sjabloon zo manueel gebeuren! Dit is dan uiteraard niet ideaal als er 700 sjablonen zo moeten worden aangepast.

Ik las ook in uw vorige post dat het mogelijk was om een sjablonenmap in 1 beweging aan te passen. Kan u mij eventueel even vertellen hoe het mogelijk is om de macro zo op ELKE sjabloon toe te passen, zeg maar 'te koppelen'?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan