Hiển thị kết quả tìm kiếm từ 1 đến 5 trên tổng số: 5
  1. #1
    Tham gia ngày
    06 2008
    Bài gởi
    2
    Cảm ơn
    3
    Được cảm ơn 0 lần trong 0 bài viết

    Làm sao để lấy dữ liệu từ file word từ hyperlink trong Excel

    Chào các bạn,

    Tôi có 1 số file word chứa CV của các ứng viên, muốn tạo 1 file excell và hàm để có thể đọc nội dung file và tìm kiếm để lấy ra Họ và tên, Ngày sinh, Mobile email hay những thông tin khác trong các file word này!
    Tôi có đính kèm các file word và file Excell chứa các link đến các file word,

    Nhờ các bạn chỉ giúp !
    Tập tin đính kèm Tập tin đính kèm

  2. #2
    Tham gia ngày
    03 2008
    Bài gởi
    286
    Cảm ơn
    333
    Được cảm ơn 328 lần trong 101 bài viết
    Trích Nguyên văn bởi tdmuoi View Post
    Chào các bạn,

    Tôi có 1 số file word chứa CV của các ứng viên, muốn tạo 1 file excell và hàm để có thể đọc nội dung file và tìm kiếm để lấy ra Họ và tên, Ngày sinh, Mobile email hay những thông tin khác trong các file word này!
    Tôi có đính kèm các file word và file Excell chứa các link đến các file word,

    Nhờ các bạn chỉ giúp !
    Chào bạn ! Mình hiểu ý bạn là muốn tạo một hypelink từ excel đến các file Word để lấy các dữ liệu về excel để sắp xếp và sử dụng (trong excel) đúng không ?
    Nếu như vây theo mình khó thực hiện được vì phải mã hoá, viết lệnh VBA rất tốn kém thời gian. Thông thường găp các file word như vây người ta copy, dồn dữ liệu trong word thành một bảng rồi copy về excel. Cách này đơn giản hơn, chỉ mất công tý chút mà không phải dùng "nội công VBA thâm hậu".

  3. #3
    Tham gia ngày
    05 2006
    Nơi Cư Ngụ
    HCM
    Bài gởi
    1,735
    Cảm ơn
    1,823
    Được cảm ơn 4,318 lần trong 1,198 bài viết
    To: tdmuoi,

    1. Để lấy dữ liệu từ Ms Word sang Excel bạn phải đưa dữ liệu vào các trường như trong ví dụ sau:
    http://www.tinhoc365.com/MSWord/Taof...ongMSWord.html

    2. Sau đó đọc bài tham khảo tại đây:
    http://www.sfdp.net/home-88.html

    3. Và tải ví dụ về tại đây:
    http://www.sfdp.net/my_softwares/wor...ous/index.html
    Ở trên là các bước để viết một công cụ đáp ứng yêu cầu của bạn.

    Lê Văn Duyệt

  4. Có 2 thành viên cảm ơn levanduyet về bài viết này:


  5. #4
    Tham gia ngày
    05 2006
    Nơi Cư Ngụ
    HCM
    Bài gởi
    1,735
    Cảm ơn
    1,823
    Được cảm ơn 4,318 lần trong 1,198 bài viết

    Code mẫu từ CollectData.xls

    Sau đây là code trong tập tin CollectData.xls tôi xin mạn phép tác giả đưa lên đây để phân tích.
    Code sau được đặt trong Thisworkbook

    Code:
    Option Explicit
    Dim DefaultProgressLength As Long
    
    Sub GetInfor()
        ' Khoi tao cac bien ket noi DDE voi WORD
        Dim wrdApp As Object
        Dim wrdDoc As Object
        Dim i As Long
        ' Tao doi tuong Word
        Set wrdApp = CreateObject("Word.Application")
        'Giau man hinh Word
        wrdApp.Visible = False
        
        ' Tim tat ca cac tap tin Doc trong thu muc chua van ban da thu thap ve
        Dim iObj As Object
        ' Show the progress bar
        Sheet1.lbFrame.Visible = True
        Sheet1.lbProgress.Visible = True
        
        With Application.FileSearch
            .Filename = "*.doc"
            .LookIn = ThisWorkbook.Path
            .Execute
        
            For i = 1 To .FoundFiles.Count
                Set wrdDoc = wrdApp.Documents.Open(Filename:=.FoundFiles(i), ReadOnly:=True)
                ' Cac ban co the dat mot truong an dac biet de kiem tra
                ' xem tai lieu co dung la tai lieu minh can khong .....
                ' advancing the progress...
                Sheet1.lbProgress.Width = DefaultProgressLength * (i / .FoundFiles.Count)
                Sheet1.lbProgress.Caption = 100 * i / .FoundFiles.Count & "% Finished"
                
                Application.StatusBar = "Processing, " & i & "/" & .FoundFiles.Count & " documents imported!"
                
                WriteCell wrdDoc ' Goi thu tuc de lay thong tin
                
                ' close the document
                wrdDoc.Close
            Next i
        End With
        Set wrdDoc = Nothing
        wrdApp.Quit
        
        ' Hide the progress bar
        Sheet1.lbFrame.Visible = False
        Sheet1.lbProgress.Visible = False
        ' set the status to on
        Application.StatusBar = "Finished processing, " & i - 1 & " documents imported!"
    End Sub
    
    Sub WriteCell(wrdDocs As Object)
        Dim i As Long, RowtoStart As Long
        Dim xlSheet As Worksheet
        Set xlSheet = Sheet1
        
        ' First open and determine the row to start
        ' This is for append the data / to current sheet
        ' You can also put code here to verify wherether data is duplicated or not
        i = 2
        While Val(xlSheet.Cells(i, 1).Value) <> 0
            i = i + 1
        Wend
        RowtoStart = i - 1
        ' Order colunm
        If RowtoStart <> 1 Then
            xlSheet.Cells(RowtoStart + 1, 1).Value = RowtoStart
        Else
            xlSheet.Cells(RowtoStart, 1).Value = "Order"
            xlSheet.Cells(RowtoStart + 1, 1).Value = RowtoStart
        End If
        With wrdDocs
            For i = 1 To .FormFields.Count
                ' First Create a header row
                If RowtoStart = 1 Then
                    xlSheet.Cells(RowtoStart, i + 1).Value = .FormFields(i).Name
                End If
                ' details
                xlSheet.Cells(RowtoStart + 1, i + 1).Value = .FormFields(i).Result
            Next
        End With
        Set xlSheet = Nothing
    End Sub
    
    Private Sub Workbook_Open()
        ' hide the progressbar as default
        Sheet1.lbFrame.Visible = False
        Sheet1.lbProgress.Visible = False
        
        ' remember the length of the progress bar
        DefaultProgressLength = Sheet1.lbProgress.Width
        Sheet1.lbProgress.Width = 0
    End Sub
    Các bạn chỉ cần quan tâm đoạn code mà tôi tô màu xanh.
    Các bước thực hiện:
    _ Tìm tập tin *.doc
    Code:
    With Application.FileSearch
            .Filename = "*.doc"
    Trong cùng thư mục của tập tin Excel của chúng ta
    Code:
    .LookIn = ThisWorkbook.Path
    Sau đó nếu tìm thấy thì thì chúng ta sẽ gọi một thủ tục WriteCell để đưa dữ liệu ra tập tin Excel.

    Trong thủ tục WriteCell đoạn code quan trọng là:
    Code:
        With wrdDocs
            For i = 1 To .FormFields.Count
                ' First Create a header row
                If RowtoStart = 1 Then
                    xlSheet.Cells(RowtoStart, i + 1).Value = .FormFields(i).Name
                End If
                ' details
                xlSheet.Cells(RowtoStart + 1, i + 1).Value = .FormFields(i).Result
            Next
        End With
    Thủ tục sẽ quét qua các trường trong tài liệu word tìm thấy để điền vào các ô trong Excel.
    Code:
    With wrdDocs
                 For i = 1 To .FormFields.Count
    
                 Next 
            End With
    Như vậy nếu các bạn thiết kế tập tin Word hợp lý (với các trường dữ liệu), thì bạn hoàn toàn có thể lấy dữ liệu nếu bạn cần từ Word để đưa qua Excel.

    Lê Văn Duyệt
    thay đổi nội dung bởi: levanduyet, 08-11-08 lúc 08:31 PM

  6. Có 3 thành viên cảm ơn levanduyet về bài viết này:


  7. #5
    Tham gia ngày
    05 2006
    Nơi Cư Ngụ
    HCM
    Bài gởi
    1,735
    Cảm ơn
    1,823
    Được cảm ơn 4,318 lần trong 1,198 bài viết
    Các bạn chú ý:
    Code:
    With Application.FileSearch
            .Filename = "*.doc"
            .LookIn = ThisWorkbook.Path
            .Execute
        
            For i = 1 To .FoundFiles.Count
                Set wrdDoc = wrdApp.Documents.Open(Filename:=.FoundFiles(i), ReadOnly:=True)
                ' Cac ban co the dat mot truong an dac biet de kiem tra
                ' xem tai lieu co dung la tai lieu minh can khong .....
                ' advancing the progress...
                Sheet1.lbProgress.Width = DefaultProgressLength * (i / .FoundFiles.Count)
                Sheet1.lbProgress.Caption = 100 * i / .FoundFiles.Count & "% Finished"
                
                Application.StatusBar = "Processing, " & i & "/" & .FoundFiles.Count & " documents imported!"
                
                WriteCell wrdDoc ' Goi thu tuc de lay thong tin
                
                ' close the document
                wrdDoc.Close
            Next i
        End With
    Đoạn mã ở trên chỉ dùng cho Excel 2003, nếu các bạn dùng cho Excel 2007 thì các bạn sẽ nhận được thông báo lỗi vì trong Excel 2007 không hổ trợ Application.FileSearch

    Vậy các bạn có thể thay thế đoạn code ở trên bằng đoạn code sau:
    Code:
    Dim sFil As String
        Dim sPath As String
    
        sPath = ThisWorkbook.Path    'Lấy thư mục của tập tin Excel
        ChDir sPath
        sFil = Dir("*.doc")    'Định dạng tập tin chúng ta cần
        Do While sFil <> ""   
            Set wrdDoc = wrdApp.Documents.Open(Filename:=sPath & "\" & sFil, ReadOnly:=True)    'Mở tập tin
            WriteCell wrdDoc    ' Gọi thủ tục để lấy thông tin
            ' close the document
            wrdDoc.Close
            sFil = Dir
        Loop
    Lê Văn Duyệt

  8. Có 2 thành viên cảm ơn levanduyet về bài viết này:


Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Đề tài tương tự

  1. Hyperlink file pdf trong excel
    Viết bởi khongbietthihoi trong chuyên mục Cấu trúc dữ liệu Excel và việc Xử lý dữ liệu
    Trả lời: 14
    Bài mới gởi: 21-08-12, 10:40 AM
  2. Remove 1 lúc toàn bộ hyperlink trong word
    Viết bởi Kế Toán Già Gân trong chuyên mục Những trình ứng dụng và vấn đề tin học văn phòng khác
    Trả lời: 5
    Bài mới gởi: 21-07-11, 10:06 AM
  3. Remove hàng loạt Hyperlink trong một file word !
    Viết bởi tamnt07 trong chuyên mục Phần mềm xử lý văn bản và chế bản điện tử
    Trả lời: 3
    Bài mới gởi: 20-04-09, 03:40 PM
  4. Tạo Hyperlink trong word từ file pdf
    Viết bởi nguyenthinu168 trong chuyên mục Những trình ứng dụng và vấn đề tin học văn phòng khác
    Trả lời: 4
    Bài mới gởi: 15-08-08, 08:03 PM
  5. làm thế nào để remove hyperlink các đường dẫn trong word
    Viết bởi ongtrungducmx25 trong chuyên mục Hỏi đáp những vấn đề khác
    Trả lời: 1
    Bài mới gởi: 30-07-08, 05:18 PM

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •  

Mudim v0.8 Tắt VNI Telex Viqr Tổng hợp
Chính tả Bỏ dấu kiểu mới  [Bật/Tắt (F9)]