Hoe kan ik tekst in een word docoment omzetten naar een lijst

Status
Niet open voor verdere reacties.
Ik ga geen bijlagen openen maar probeer eens te experimenteren met Zoeken in de tekst en Vervangen. U zoekt dan naar spatie met Zoeken en vervangt deze overal door < Spatie - de gewenste tekst - spatie >. Gebruik een backup.

Een tekstbestand kan worden ontdaan van alle onnodige spaties en regel eindes met een on-line hulpprogramma zoals hier: http://www.miniwebtool.com/text-tools Succes
 
Het probleem is dat de tekst in een tabel staat.
Maar ik wil de tekst zo hebben: defenitie, omschrijving
 
Is het mogelijk om de tekst te selecteren, kopiëren en dan plakken in een standaard tekstbestand zoals dat van Kladblok?
 
Je kunt een tabel simpel omzetten naar tekst, en dan aangeven welk scheidingsteken je wilt. Probeer dat eerst eens.
 
Probeer dit eens. Plak deze code in de ThisDocument sectie van je document. Voer dan de Sub LeesTables uit. Er is nu een bestand op je bureaublad met de naam Terms.txt.
Code:
Option Explicit
Dim Bestand As Long

Sub LeesTables()
    Dim i As Integer
    Dim mMyData() As String
    Dim mRow As Integer
    Dim mColumn As Integer
    Dim mClearIt As String
    
    Bestand = FreeFile()
    Open Environ("USERPROFILE") & "\Desktop\Terms.txt" For Output As #Bestand
    
    mClearIt = Chr(13) & Chr(7)
    For i = 1 To ThisDocument.Tables.Count
        mRow = ThisDocument.Tables(i).Rows.Count
        mColumn = ThisDocument.Tables(i).Columns.Count
        mMyData = Split(ThisDocument.Tables(i).Range.Text, mClearIt)
        WriteCSV mMyData, mColumn, i
    Next
    
    Close #Bestand
End Sub
 
Sub WriteCSV(WrtData() As String, ColCnt As Integer, BKcntr As Integer)
    Dim i As Integer
    Dim HldStr As String
    Dim cntr As Long
    
    For i = LBound(WrtData) To UBound(WrtData) Step ColCnt + 1
        If i < UBound(WrtData) Then
            For cntr = 0 To ColCnt + 1
                If cntr = 0 Then
                    HldStr = Chr(34) & CStr(i / (ColCnt + 1)) & Chr(34) & ";"
                Else
                    HldStr = HldStr & Chr(34) & WrtData(i + cntr - 1) & Chr(34) & ";"
                End If
            Next
            Print #Bestand, Left(HldStr, Len(HldStr) - 2)
            HldStr = vbNullString
        End If
    Next
End Sub

Dit is bij mij het resultaat:
Bekijk bijlage Terms.txt
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan