2011-11-03 12 views
5

Tôi có một thư mục với 40-50 tài liệu Microsoft Word.Trích xuất dữ liệu Hộp văn bản từ nhiều tệp Microsoft Word

Mỗi tài liệu Word được cấu trúc như sau: - Có nhiều bảng với hai cột - Cột thứ hai chứa các câu hỏi, và ở phần cuối của mỗi câu hỏi có một định danh duy nhất (chẳng hạn như "< # Q123 # > ") - Trong cùng một ô chứa câu hỏi, có một hộp văn bản sau số nhận dạng duy nhất chứa câu trả lời cho câu hỏi

Tôi đang cố gắng phát triển macro trong Microsoft Word sẽ mở mỗi tài liệu Word trong thư mục, tìm kiếm hộp văn bản ngay sau mã định danh duy nhất được chỉ định và dán vào tệp mới có macro.

Nếu có thể trích xuất dữ liệu từ bên trong hộp văn bản sang tệp Excel thay vì sao chép và dán hộp văn bản vào tài liệu Word, điều đó sẽ thích hợp hơn, nhưng tôi không chắc liệu điều đó có khả thi không (vì một số các hộp văn bản có thể chứa

Trả lời

3

những câu trả lời được liệt kê herehere có thể chỉ cho bạn cách để có được tất cả các file trong thư mục của bạn.

sau mã VBA có thể được sử dụng để lấy văn bản trong cột thứ 2 của bảng, cũng như văn bản trong hình dạng (hộp văn bản) nằm trong cùng ô đó. Câu lệnh On Error Resume Next được đặt để giữ mã unning nếu không có hình dạng (textbox) được tìm thấy trong ô bảng.

Dim cll As Cell 
Dim question As String 
Dim answer As String 
Dim tbl As Table 

'Gets the first table in the active document. 
'In your code you would assign the Word document that you have 
'just opened to a document variable. 
Set tbl = ActiveDocument.Tables(1) 

On Error Resume Next 
For i = 1 To tbl.Rows.Count 
    Set cll = tbl.Cell(i, 2) 

    question = cll.Range.Text 
    answer = cll.Range.ShapeRange.TextFrame.TextRange.Text 

    'Once you have these two strings, you can do whatever you want with them.   
Next