Makroer der ikke fungerer korrekt i Word 365

Anonym
2020-11-17T10:20:01+00:00

Jeg har en masse makroer som fungerer fint i Word 2016, men i Word 365 er der nogle af dem der ikke længere fungerer korrekt.

Her er et par eksempler:

Jeg har et dokument på to sider. I sidehovet indsættes en tekstboks med noget tekst via en userform. Placering af tekstboksen defineres via vba kode. Dokumentet indeholder ”speciel første side”, og placeringen af tekstboksen er korrekt. Samme kode bliver kørt for at placere tekstboksen på side 2, altså nøjagtig samme placering som på side 1, og alligevel placeres tekstboksen meget længere nede på siden. Det giver ingen mening!

Det, der næsten er endnu mere pudsigt er, at ikke nok med at placeringen er helt forkert, på trods af, at samme kode afvikles, men hvis man efterfølgende kigger på egenskaberne for de to tekstbokse (Dialog boksen Layout) så er det nøjagtig de samme mål der står angivet (Absolut placering: 3,21 til højre for venstre margen og 3 cm under side) på trods af at de to tekstbokse slet ikke er placeret ens.

Jeg har en anden makro som anvender noget tilsvarende kode, men denne gang er det logoer jeg indsætter i sidehovedet. Igen samme kode der afvikles for de forskellige sidehoveder og igen samme fejl. Denne gang er det bare logoet på side 1 som ikke placeres korrekt, og ikke nok med det, så virker det fint i en skabelon men ikke i en anden?!

Tredje og sidste eksempel. Jeg har en stump kode der går ind og fjerner en tekstboks fra sidefoden. Koden fungerer fint, hvis jeg vel og mærke kører den fra VBA editoren (både med F5 og F8). Den afvikles ikke hvis jeg kører den fra Word?!

Jeg oplever så mange mystiske ting der slet ikke giver nogen mening i 365. Det skal siges at ovennævnte eksempler fungerer upåklageligt i Word 2016! Jeg har søgt Nettet tyndt for hjælp men uden held. Jeg håber at der er nogen i dette forum som måske kan give mig et hint om hvad det er der sker i Word 365, eller hvor jeg kan finde noget hjælp. Jeg er dybt frustreret!

Microsoft 365 og Office | Word | Til hjemmet | Windows

Låst spørgsmål. Dette spørgsmål blev migreret fra Microsoft Support-community'et. Du kan stemme om, hvorvidt det er nyttigt, men du kan ikke tilføje kommentarer eller svar eller følge spørgsmålet.

0 kommentarer Ingen kommentarer

9 svar

Sortér efter: Ældste
  1. Anonym
    2020-11-20T12:37:13+00:00

    Hej Lene,

    Endnu en gang, tak for dit svar.

    TOC + fjernelse af logo i sidehoved/fod samt tekstboks i sidefod

    Jeg har to funktioner som jeg har foretaget mindre ændringer i. Indsættelse af TOC samt en funktioner som fjerner logoer og til sidstnævnte funktion har jeg tilføjet kaldet af en anden eksisterende rutine som sletter en tekstboks i sidefoden. Jeg har ligeledes tilføjet dit glimrende og forslag omkring TOC da det løser sprogproblemet som jeg netop er støt på for nyligt.

    I 365 fungerer begge ændrede funktioner fint fra VBE/F5, og de fungerer også fra Word via Udvikler fanen og valg af de respektive makroer. Der hvor de ikke virker korrekt, er når jeg aktiverer dem via CustomRibbon menuen som indeholder de forskellige funktioner. Makroerne kører, men har ikke registeret de seneste ændringer jeg har foretaget i koden. Rutinernes navne er ikke ændrede. 

    F.eks. har jeg tilføjet din stump kode vedr. TOC og resultatet bør vises som "TOC \o "1-5" \h \t " men det sker ikke. Den indsættes som før jeg foretog ændringen "TOC \o "1-1" \t "Overskrift 2;2;Overskrift 3;3;Overskrift 4;4;Overskrift 5;5".

    Jeg er overbevist om at det er det samme som sker med min anden funktion. Den har ikke registreret at jeg har tilføjet et nyt kald i koden som også skal slette en tekstboks. 

    Spøgsmålet er bare hvorfor? Hvor hænger ribbon-knapperne fast i gammel kode? Det giver ingen mening! Og ændringerne slår fint igennem i 2016?!

    Placering af tekstbokse

    Du skriver at du har fået det til at virke både i 2016 og i 365. Det er dejligt at høre, men jeg kan stadig ikke få det til at virke og jeg har nu prøvede på 3 forskellige maskiner med 365 og med samme resultat. Placeringen af tekstboksen i PrimaryHeader er forkert. Begge tekstbokse viser den samme placering, men som du kan se er det ikke tilfældet.

    Kan det have noget at gøre med vores referencer?

    For at svare på dine spørgsmål.

    Mht til TOC og F5 er svaret Ja

    Mht til globale skabeloner som add-ins er svaret ja

    Mht til tomme dokumenter er jeg ikke sikker på hvad du mener. De fleste skabeloner vi anvender indeholder i sig selv ikke noget kode. Kun logoer og tekstfelter/formularfelter/tabeller. Kun 2 af skabelonerne indeholder kode på new_event, men den skabeloner som jeg tester det med placering af tekstbokse i headeren, indeholder ingen kode.

    Mht. Event kode er svaret ja. Jeg kører noget kode når man åbner Word. Blandt andet sørger jeg for at at referencen MS VBA Extensibility 5.3 bliver sat hos brugeren.

    Indstillingerne i 365 og 2016 er ens.

    Vi har andre addins, men det er til pdfDocs og vores dokumenthåndteringssystem. Jeg kan prøve at deaktivere disse men har svært ved at tro at det vil gøre nogen forskel. Jeg vil dog gøre et forsøg. :-)

    Var dette svar nyttigt?

    0 kommentarer Ingen kommentarer
  2. Anonym
    2020-11-20T13:27:02+00:00

    Hej Lene,

    Jeg vil blot fortælle at jeg har løst mine to første problemer med ikke at kunne få funktionerne (TOC + slet tekstboks i sidefod) til at virke når jeg kørte dem fra CustomRibbon.

    Jeg ændrede navnene på de to funktioner og derefter på kaldet til disse i min CustomRibbon template og nu virker det.

    Jeg er naturligvis rigtig glad for at det virker, men jeg synes stadig ikke at løsningen giver nogen mening?!

    Jeg prøvede at gøre det samme med kaldet til den funktion som placeret tekstbokse i min header, men det løste ikke problemet. Det havde jeg sådan set heller ikke forventet idet jeg ikke har lavet noget om i selve kode på denne funktion.

    Hvorfor det virker hos dig, men ikke hos os selv, er mig stadig en gåde, men der er ikke andet for end at jeg må fortsætte at lede efter en løsning.

    Var dette svar nyttigt?

    0 kommentarer Ingen kommentarer
  3. Anonym
    2020-11-20T13:47:09+00:00

    Jeg ikke ved, hvordan du har programmeret koden til fanen i Båndet. Derfor er det ikke muligt for mig at gætte på, hvad problemet er i forhold til afvikling af kode derfra. Hvis du bruger Custom UI Editor for Microsoft Office, skal du være opmærksom på, at det kan gå galt, hvis du på samme tid har en dotm-fil åben deri og i Word. Ændringer du laver i Word, bliver typisk ikke gemt i den situation.

    Mht. tomme dokumenter mente jeg, om dokumenterne på forhånd indeholder tekst eller andet - jeg gik ud fra, at dokumenterne ikke indeholder VBA-kode i sig selv, men jeg kan forstå, at det er tilfældet for nogle.

    Mht. referencer i VBE: Da jeg kun har set lidt af din kode, er det ikke muligt for at vurdere, om de to nederste af de valgte referencer er nødvendige.

    I dit skærmdump ser det nærmest ud, som om Top-placeringen i PrimaryHeader er placeret i forhold til topmargen i stedet for top af siden, selv om sidstnævnte er valgt. Har du prøvet f.eks. at ændre til margen og derefter tilbage til side for at se, at noget ændrer sig? Selv om du har markeret tekstboksen på s. 2 i dit skærmdump, kan jeg ikke se ankeret (eller andre formateringsmærker). Lige under boksen, der viser ”Sidehoved”, kan jeg se en stiplet ramme, men jeg kan ikke se, hvad det er. Hvis det er indhold hørende til sidehovedet, er tekstboksen så måske forankret dertil og placeret relativt dertil (det er ud til at kunne passe med afstanden).

    Alternativ til tekstbokse:

    I stedet for at bruge tekstebokse (som Microsoft i nyere tid har omdøbt til tekstfelter i dansk version), har du så overvejet at definere typografierne, der bruges i hoved/fod, så de placerer teksten automatisk vha. en tekstrude (Rediger typografi > Formatér > Tekstrude, i engelsk version: Tekstrude = frame). Via en tekstrude kan typografien i sig selv styre tekstplaceringen og sikre, at den er korrekt. Personligt undgår jeg så vidt som overhovedet muligt tekstbokse i skabeloner, da det er let at spolere placeringen – og det er stort set altid muligt at undgå dem).

    Var dette svar nyttigt?

    0 kommentarer Ingen kommentarer
  4. Anonym
    2020-11-20T14:17:23+00:00

    Kære Lene,

    Du har igen fået mig på rette spor! :-)

    I sidehovedet på netop denne skabelon som volder mig problemer, har jeg en tabel med en enkelt celle som indeholder sidetal. Ankeret knytter sig til tabellen kan jeg se nu hvor du har gjort mig opmærksom på det. Det forklarer også hvorfor det virkede fint i en skabelon men ikke i en anden. Hvorfor den reagerer forskelligt i forhold til 2016 ved jeg ikke, men i det mindste har jeg noget at arbejde med nu.

    Med hensyn til CustomRibbon, så anvender jeg Custom UI. Jeg laver løbende tilpasninger i koden og nye funktioner, men har ikke tidligere haft nogen problemer.

    Endnu en gang, tusind tak for din hjælp og dine gode råd. :-)

    Var dette svar nyttigt?

    0 kommentarer Ingen kommentarer