Word VBA mem-parsing teks dan mengubahnya menjadi sebuah tabel

0

Memasukkan:

##TABLE_START##
##ROWS=3
##COLS=2
##Value
##Decode
##0
##Clock running
##1
##Clock not running
##TABLE_END##

##TABLE_START##
##ROWS=4
##COLS=2
##Value
##Decode
##0
##Off
##1
##On
##Z
##High Z
##TABLE_END##

Output yang diinginkan:

Data into tables

Saya ingin melakukan ini untuk sekitar 400 tabel. Saya mencoba merekam makro dalam kata, tetapi mengunci mouse saat merekam makro, dan itu hanya merekam tombol absolut. Saya ingin melakukan sesuatu yang lebih umum yang dicari ##TABLE_START##, parsing semua baris hingga ##TABLE_END##, lalu buat tabel di bagian bawah dokumen yang diisi dengan informasi yang sesuai.

Kode Saat Ini Word VBA 2010: (Hanya potongan kode - Ini hanya mencatat penekanan tombol sedangkan saya ingin membuat sesuatu yang berfungsi untuk setiap tabel)

Salin dan rekatnya bagus, tapi saya perlu mengubah cara pemilihannya menjadi lebih umum dan berfungsi untuk setiap tabel

Selection.MoveDown Unit:=wdLine, Count:=7
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.PasteAndFormat (wdFormatOriginalFormatting)
Selection.MoveUp Unit:=wdLine, Count:=6
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Copy
Selection.MoveDown Unit:=wdLine, Count:=7
Selection.PasteAndFormat (wdFormatOriginalFormatting)
SwimBikeRun
sumber

Jawaban:

1

Catatan: Saya sadar ini bukan jawaban yang lengkap

Ini akan membantu Anda memulai dengan mencari baris demi baris untuk kata "mulai". Ketika ditemukan, Anda dapat mulai membangun tabel. Maka Anda bisa melihat StackOverflow membuat tabel .

Sub tablemaker()
Dim dDoc As Document
Set dDoc = ActiveDocument
Dim rRng As Range
Dim p As Paragraph

For Each p In dDoc.Paragraphs
Set rRng = p.Range
    With rRng.Find
       .Text = "start"
        If .Execute Then
        'create table
        Set rRng = Nothing
        End If
    End With
    Next
End Sub
Raystafarian
sumber