Macro in Worddocument

Leg even uit wat je bedoelt; ik kan er pas morgen naar kijken, dus ik vraag me af wat je met 'bijlage' bedoelt. In eerste instantie zou ik ook zeggen dat je helemaal geen macro nodig hebt; als je aan de (zeven) keuzes een inhoudsverwijzing hangt die naar het juiste (sub)hoofdstuk verwijst, ben je al klaar. Dan gebruik je de betreffende tekst dus als hyperlink naar de tekst.
Ik zou overigens nooit naar specifieke pagina's verwijzen, want die kunnen simpel veranderen in een document. Altijd naar koppen of subkoppen :). Ik zie dus geen enkele meerwaarde (anders dan dat het voor je gebruikers lastiger wordt) voor macro's.
 
Ik heb het idee dat je helemaal geen macro nodig hebt. Maak de diverse titels "koppen" (geef ze de stijl "Kop 1") en genereer op het eerste blad een inhoudsopgave. In de inhoudsopgave kan je op een regel Ctrl-klikken en dan ga je automatisch naar het blad waar de betreffende kop staat. Zie voorbeeldje.
 

Bijlagen

En dat werkt alleen vanuit de eerste pagina('s), niet vanuit (zoals gevraagd) de bijlagen. Dat werkt echt alleen met Verwijzingen. Wat een inhoudsopgave in essentie uiteraard ook is.
Overigens kun je natuurlijk ook een Index gebruiken, waarbij je specifieke woorden markeert en op basis daarvan een index genereert. Ook daarmee kun je naar (in dit geval het woord op) die pagina springen.
 
Maar ik heb je vraag (en je document) nog eens goed gelezen en het document bekeken, en het gaat dus helemaal niet om het opzoeken van een plek in het huidige document: je wilt een extern document openen. En dat is een heel ander verhaal, waar je inderdaad een macro voor zou kunnen gebruiken (ik weet zelfs niet of het ook zonder zou kunnen; wellicht met een Hoofd- en subdocumenten).

Dat kan relatief simpel met een macro. Let wel op: deze macro kijkt totaal niet waar de cursor staat; het werkt dus vanuit elke regel tekst. Al gebeurt er dan niets.

Dit is de macro:
Code:
Sub mcrBijlageOpenen()
Dim sBijlage As String

On Error GoTo Hell
    sBijlage = Selection.Paragraphs(1).Range.Text
    sBijlage = Left(sBijlage, Len((sBijlage)) - 1)
    sBijlage = ActiveDocument.Path & "\" & sBijlage & ".docx"
    Documents.Open FileName:=sBijlage, Format:=wdOpenFormatAuto
Hell:
End Sub
Hij gaat er vanuit dat je document in dezelfde map staat als je hoofddocument. Zo niet, dan gebeurt er dus niets. En nog iets: als je een tekst als bestandsnaam wilt hergebruiken, zorg er dan ook voor dat die tekst geen 'verboden tekens' bevat, zoals slashes.
 

Bijlagen

En dat werkt alleen vanuit de eerste pagina('s), niet vanuit (zoals gevraagd) de bijlagen. Dat werkt echt alleen met Verwijzingen. Wat een inhoudsopgave in essentie uiteraard ook is.
Overigens kun je natuurlijk ook een Index gebruiken, waarbij je specifieke woorden markeert en op basis daarvan een index genereert. Ook daarmee kun je naar (in dit geval het woord op) die pagina springen.
Klopt helemaal! Een index is inderdaad handig als je specifieke termen wilt markeren en snel terugvinden, werkt top bij grote documenten.
 
@Tomine Ryan: fijn dat je het me me eens bent, maar een forum als HelpMij is niet echt bedoeld als praatgroepje. Als alle gebruikers een berichtje maken met de mededeling dat ze het met mij eens zijn, dan wordt dit een heel vervelend draadje om te lezen. (Gebeurt overigens niet, ik heb genoeg 'vijanden' hier die het nooit met mij eens zijn ;)) Heb je nieuwe inzichten, dan is elke reactie uiteraard meer dan welkom.

Overigens heeft @biertje123 nog nergens op gereageerd, dus vanuit die hoek verwacht ik ook eigenlijk geen reactie meer. Voor mij is het dan ook wel klaar met dit topic, en hoop ik eigenlijk dat er een paar maanden (4 geloof ik) niet gereageerd wordt, dan gaat het draadje vanzelf op slot. Helaas heb jij (@Tomine Ryan) daar nu dus weer een maand aan toegevoegd :).
 
Terug
Bovenaan Onderaan