Avatar billede Fiskefugl Praktikant
23. januar 2018 - 08:25 Der er 8 kommentarer

Macro til at oprette en macro

Hej
Jeg skal lave en LANG vejledning. Jeg vil lave knapper som kan skjule/vise tekstafsnit. Men det skal kunne vedligeholdes af andre, som ikke kan lave macro'er.
Derfor vil jeg gerne lave en macro som kan lave følgende:
Når en tekst bliver markeret, og macro'en bliver aktiveret, skal den lave en til/fra-knap (gerne lige over teksten), som kan skjule/vise teksten.
MEN den skal jo kunne skelne den første oprettelse fra den næste og den næste...osv.
Jeg har lavet teksten som bogmærke og derefter følgende macro:

Private Sub ToggleButton2_Click()

With ActiveDocument.Bookmarks("Tekstforslag1").Range.Font
  .Hidden = Not .Hidden
End With
End Sub

Men jeg kan ikke få den til at navngive bogmærket fortløbende. Jeg havde tænkt, at bogmærket kunne kopiere navnet fra navnet fra knappen (som jo automatisk bliver navngivet fortløbende). Men det kan jeg ikke få den til.
En anden ting er, at jeg ikke kan få det helle til at køre i en samlet macro, således at andre brugere kan oprette disse vis/skjul knapper ved at markere en tekst og aktivere en macro.
De bedste hilsner
Fiskefugl :-)
Avatar billede Lene Fredborg Ekspert
23. januar 2018 - 12:55 #1
Dette er ikke et direkte svar på dit spørgsmål. Det er i stedet kommentarer og et forslag til en anden måde at løse det på.

Det fremgår ikke af din forklaring, hvad der i øvrigt er af indhold i dokumentet, og hvad formålet er med at kunne vise/skjule tekst.

Ud fra, hvad du har vist af kode, bruger du ActiveX Controls, og det er ikke nødvendigvis fornuftigt. Sikkerhedsindstillingerne i Word kan være indstillet sådan, at ActiveX Controls ikke kan bruges. Se f.eks. også denne artikel, sidste afsnit, ”Risiko og mulig skade”: https://support.office.com/da-dk/article/Aktivere-eller-deaktivere-ActiveX-indstillinger-i-Office-filer-f1303e08-a3f8-41c5-a17e-b0b8898743ed?ui=da-DK&rs=da-DK&ad=DK.

Bemærk, at du ikke kan være sikker på, at tekst formateret som skjult tekst (hidden) reelt er skjult for den enkelte bruger. Brugeren kan have slået formateringsmærker til, så skjult tekst er vist. Det er også muligt for en bruger specifikt at slå visning af skjult tekst til, selv om andre formateringsmærker er skjult. De indstillinger bør brugeren selv beholde sin kontrol over, selv om man via makrokode kunne sætte skjult tekst til ikke at være vist.

Hvis det er Word 2013 eller Word 2016, der er i brug (Word i Office 365 er Word 2016 pt.), så kan du muligvis i stedet blot udnytte, at typografierne Overskrift 1-9 (Heading 1-9 i engelsk version) optræder sådan, at underafsnit let kan vises/skjules. Der vises en trekant i venstre margen ud for afsnit formateret med en af de typografier – klik på den for at vise/skjule tekst. Hvis overskrifter i et dokument er formateret med Overskrift 1-9, kan brugeren klikke på pilen ud for en overskrift for at veksle mellem at vise/skjule alle tilhørende underafsnit. Hvis man f.eks. klikker på trekanten ved en Overskrift 1, vil alle afsnit indtil næste Overskrift 1 blive vist/skjult. Hvis det f.eks.er Overskrift 4, vil alle afsnit indtil næste Overskrift 4 eller en overskrift på et højere niveau (1-3) blive vist/skjult. Man kan på samme måde vise/skjule afsnit via Navigationsruden (åbnes via Vis > Navigationsrude) – der har man fuldt overblik over det hele. Man kan vælge, hvad er skal vises i Navigationsruden – og man kan klikke på en overskrift deri for at vise/skjule underafsnit.

Alle typografier, inkl. Overskrift 1-9, kan rettes til, så de ser ud, som du ønsker.
Avatar billede Fiskefugl Praktikant
23. januar 2018 - 14:57 #2
Hej Lene
Tak for relevante betragtninger.
I dette tilfælde er det ikke et problem at benytte ActiveX Controls.
Formålet med at skulle skjule/vise teksten er, at skabe bedre overblik. Hvis indholdet i afsnittet kun skal bruge i særlige (sjældne) tilfælde, er det ikke nødvendigt at de står fremme, men kan klikkes frem når der er behov for det. Det skjulte, skal kunne klikkes frem af alle brugere.
Ja, det er i Word 2016. Og ja, jeg har forsøgt med overskrifterne. Men det giver problemer i forhold til afgrænsningen af afsnittet.
Men tak for dit indlæg :-)
Avatar billede Lene Fredborg Ekspert
23. januar 2018 - 15:16 #3
Kan du ikke give et konkret eksempel på, hvilket indhold der f.eks. skal kunne vises/skjules som én blok - hvilke typografier kan f.eks. typisk være i brug i en sådan blok af tekst?

Kan du ikke give et konkret eksempel på, hvordan "det giver problemer i forhold til afgrænsningen af afsnittet"?
Avatar billede Fiskefugl Praktikant
24. januar 2018 - 08:49 #4
Hej igen Lene
Hvis jeg skal bruge overskrifte til at afgrænse, så kommer jeg nogle steder til at skulle oprette to overskrifter i starten at afsnittet og to overskrifter i slutningen af afsnittet. Eller giver det konflikt i forhold til de øvrige overskrifter. Overskrifterne som skal jo både definere, hvornår et afsnit slutter og hvornår det begynder, og omvendt i slutningen af afsnittet.
Desuden er jeg bange for, at det bliver for uoverskueligt, når øvrige brugere skal vedligeholde dokumentet.

Eksemplet i dokumentet kunne være:
Her står det en vejledning om, hvad du skal gøre i langt hovedparten af tilfældene. Hvordan du eksempelvis skal tømme opvaskemaskinen, påfylde sæbe, hvordan maskinen fyldes op på den mest hensigtsmæssige måde osv.
Manglende salt:
Dette afsnit under manglende salt, skal kunne skjules/vises. For det skal kun kunne trykkes frem, hvis der mangler salt og i det skjulte afsnit skal der så beskrives hvad man så gør.
Ligeledes har jeg brug for at skjule/vise tekst, hvor man kan trykke en tekst frem, hvis man har behov for en tekst, som kan kopieres over i at andet dokument. Her er det ligeledes kun i nogle tilfælde, hvor man har behov for dette.

Typografi stort set underordnet. Men det skal som udgangspunkt være den samme som det øvrige i dokumentet.
Avatar billede Lene Fredborg Ekspert
24. januar 2018 - 13:03 #5
Ud fra din forklaring om indholdet mener jeg fortsat, at det hele kan styres med passende brug af overskrifter og overskriftstypografierne – dokumentet skal struktureres systematisk.

Der er ikke brug for noget ud over selve overskriften til at vise, hvor et afsnit, der skal vises/skjules, begynder eller stopper – det begynder automatisk med overskriften, og det stopper automatisk, når 1) dokumentet sluttet eller 2) når der kommer en ny overskrift på samme eller højere niveau. Det kræver ikke noget specielt af brugerene, der skal redigere dokumentet, ud over at de sørger for at bruge overskriftstypografierne systematisk for at afgrænse de forskellige afsnit (noget, der er en rigtig god idé generelt :-)).

Jeg har lavet et dokument til illustration – kan downlades her:
https://tinyurl.com/vise-skjule-tekst-i-word

(En rettelse til mit første svar: Det er ikke korrekt, en man kan klikke op en overskrift i Navigationsruden for at vise/skjule relaterede afsnit i dokumentet (en tanketorsk). Et klik på en overskrift i Navigationsruden går til det pågældende afsnit i dokumentet. Et klik på en trekant i Navigationsruden viser/skjuler underoverskifter i selve Navigationsruden.)
Avatar billede Fiskefugl Praktikant
25. januar 2018 - 08:17 #6
Hej Lene
Din løsning er sådan set fin. Tak for input. Men den er bare ikke brugbar i mit tilfælde.
Jeg har brug for en macro, som opretter tidligere nævnt funktion.
Avatar billede Lene Fredborg Ekspert
25. januar 2018 - 10:08 #7
Grunden til, at jeg fortsat foreslog at udnytte overskrifter var, at der ikke var noget i din beskrivelse af indhold/opsætning, der taler imod det - og så ville det være den enkleste/letteste løsning, også for brugerne.

Mht. makro: Det ville være en fordel, hvis du viste, hvilken VBA-kode, du har lavet til at danne navne på bogmærker. Så kan man tage udgangspunkt i det.

Bogmærkenavne kan kun have
1) op til 32 tegn
2) ingen mellemrum
3) kun tal, bogstaver og underscore
4) skal starte med et bogstav - dog kan man starte med _ (underscore) via VBA, hvilket givet et skjult bogmærke, men det kan man ikke gøre ved manuel oprettelse.
Avatar billede Fiskefugl Praktikant
26. januar 2018 - 08:06 #8
Jeg har ingen kode til at danne navne på bogmærkerne. Derfor kan programmet heller ikke skelne det første bogmærke fra bogmærke nr.2 osv. Det er en del af problemet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester