• Thứ Năm, 20/03/2008 10:02 (GMT+7)

    Lập trình đọc và ghi dữ liệu *.doc

    Câu hỏi :

    Xin hướng dẫn lập trình VB đọc dữ liệu của Microsoft Word và ghi thêm dữ liệu vào cuối tệp *.doc? hoặc lập trình nối 2 tệp *.doc lại với nhau thành 1 tệp.


      



    Trả lời :

    Cách dễ dàng và tin cậy nhất để lập trình truy xuất nội dung các file Word là dùng các đối tượng của "Word Automation Server" như Word, Application, Document, Selection,...

    Thí dụ sau đây là qui trình xây dựng 1 ứng dụng VB 6.0 đơn giản demo việc thêm chuỗi văn bản vào đầu 1 file *.doc cũng như copy dữ liệu nằm trong file Word này sang file Word khác:

     1. Chạy VB 6.0, tạo Project mới thuộc loại "Standard EXE" (loại Project mặc định có 1 Form giao diện rỗng ban đầu).
     2. Chọn menu Project.References để hiển thị cửa sổ References. Duyệt tìm và chọn mục Microsoft Word x.y Object Library để "add" các đối tượng truy xuất file Word vào Project. Lưu ý x.y là chỉ số version của thư viện các đối tượng Word được cài trên máy bạn.
     3. Tạo 1 button trên Form có tên mặc định là Command1.
     4. Nhấn đúp chuột vào button vừa tạo để tạo thủ tục xử lý sự kiện click chuột trên button rồi viết đoạn code thực hiện copy dữ liệu từ file Word này sang file khác như sau:
     Option Explicit
     'thủ tục xử lý sự kiện click chuột trên button
     Private Sub Command1_Click()
     'khai báo các biến cần dùng
     Dim oWD As Word.Application
     Dim oWB As Word.Documents
     Dim oDoc1 As Word.Document
     Dim oDoc2 As Word.Document
     'khởi động Word và nhận đối tượng Application.
     Set oWD = CreateObject("Word.Application")
     'xác định đối tượng quản lý các file Word.
     Set oWB = oWD.Documents
     'mở file "c:\data1.xls" chứa kết quả
     oWB.Add "c:\data1.doc"
     'mở file "c:\data2.xls" chứa dữ liệu cần copy
     oWB.Add "c:\data2.doc"
     'thiết lập biến các Document cần truy xuất
     Set oDoc1 = oWB.Item(1)
     Set oDoc2 = oWB.Item(2)
     'copy nội dung từ file data2.doc vào clipboard
     oDoc2.Activate
     oWD.Selection.WholeStory
     oWD.Selection.Copy
     'chuyển sang file data1.doc
     oDoc1.Activate
     'mặc định cursor đang ở đầu file
     'thêm chuỗi văn bản vào vị trí cursor hiện hành
     oWD.Selection.TypeText Text:="Chuỗi cần thêm vào" & vbCrLf
     'dán clipboard vào vị trí cursor hiện hành
     oWD.Selection.Paste
     'cất kết quả lên file mới
     oDoc1.SaveAs "c:\data3.doc"
     'đóng các đối tượng lại
     oDoc1.Close
     oDoc2.Close
     'đóng ứng dụng Word
     oWD.Quit
     End Sub
     5. Chọn menu Run.Start để chạy thử ứng dụng xem nó hoàn thành nhiệm vụ qui định không.

    Chuyên mục: Ứng dụng văn phòng