I et Word-dokument vil jeg gerne konvertere en lang række tabeller til tekst. Separatoren imellem cellerne skal være tegnet § med mellemrum før og efter. Jeg har prøvet denne i MS Visual Basic, men det fungerer ikke. Den accepterer ikke wdSeparateBy§ og jeg ved i øvrigt heller ikke hvordan jeg får mellemrum før og efter § Kan nogen hjælpe mig med en korrekt wdSeparateBy som lader tegnet § med mellemrum før og efter væres separator?
Sub TablesToText() Dim tbl As Table For Each tbl In ActiveDocument.Tables tbl.ConvertToText Separator:=wdSeparateBy§ Next tbl Set tbl = Nothing End Sub
Man kan kun bruge ét tegn som separator. Du kan ikke bare selv "opfinde" en wdSeparateBy, men du kan angive et tegn som en almindelig string, f.eks. "§".
Du nødt til at have koden til først at konvertere og dernæst erstatte det anvendte tegn med " § "
Jeg har lavet nedenstående makro i VBA. Bemærk, at kun tabeller i hovedområdet af dokumentet vil blive konverteret (gælder også din version, hvis den ellers virkede). Hvis der er tabeller i sidehoved, sidefod, tekstbokse m.m., som skal konverteres, skal der noget mere kode til. Der er ikke indbygget fejlhåndtering i makroen – det må du vurdere, om du har brug for.
Se kommentarer i makroen.
--------------MAKRO START------------- Sub ConvertAllTablesInDocToText() Dim tbl As Table
With ActiveDocument 'Konverter alle tabeller i hovedområdet til tekst 'Sæt separator til et tegn, som ikke bruges andre steder i dokumentet, her "¤" For Each tbl In ActiveDocument.Tables tbl.ConvertToText Separator:="¤" Next tbl End With
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.