View Full Version : COPY FROM WORD TO EXCEL
purplej
10-25-2016, 05:03 PM
Hi guys,
I have a excel file which has got list of file name in column A2 onwards, I would like a macro which can open each of these word file and copy last 5 rows and last paste them in excel in B2 onwards.
the word files are store in individual folder which is based on first 3 charters of the file name. So for example if the file name is ABC123, this file will be under the folder ABC and so on...
purplej
10-26-2016, 06:05 PM
I have found the below code which does what I need but only 1 document at time and get all the lines in form. Can someone help me to modify this so it only pick last 3 lines from the word file and loops for each file?
Option Explicit
Private fileToOpen As String
Private Sub cmdClear_Click()
  Me.txtWordDoc.Text = ""
End Sub
Private Sub txtWordDocPath_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If Me.txtWordDocPath <> "" And (fileToOpen = "" Or fileToOpen = "False") Then
    fileToOpen = Me.txtWordDocPath
  End If
End Sub
Private Sub cmdBrowse_Click()
  fileToOpen = Application.GetOpenFilename("Word Files (*.doc), *.doc", , "GetWordDoc")
  If fileToOpen <> "False" And fileToOpen <> "" Then
    Me.txtWordDocPath = fileToOpen
  End If
End Sub
Private Sub cmdGetWord_Click()
  '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  '--You can use these declares if you have references set for Word
'  Dim wrdApp As Word.Application
'  Dim wrdDoc As Word.Document
  
  '--Otherwise use these declares
  Dim wrdApp As Object
  Dim wrdDoc As Object
  '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  'exit if no document was selected
  If fileToOpen = "False" Or fileToOpen = "" Then Exit Sub
  
  'startup word
  Set wrdApp = CreateObject("Word.Application")
  
  'Comment out this line to hide word from the user
  wrdApp.Visible = True
  'open the selected document
  Set wrdDoc = wrdApp.Documents.Open(fileToOpen)
  
  'select the entire document
  wrdApp.Selection.WholeStory
  wrdApp.Selection.Copy
  
  'paste word document text to textbox
  Me.txtWordDoc.SetFocus
  'select contents of textbox to be overwritten
  Me.txtWordDoc.SelStart = 0
  Me.txtWordDoc.SelLength = Me.txtWordDoc.TextLength
  'paste in word doc contents
  Me.txtWordDoc.Paste
  'reset cursor to the top of the textbox
  Me.txtWordDoc.SelStart = 0
  Me.txtWordDoc.SelLength = 0
  
  'close and clean up word objects
  wrdDoc.Close
  Set wrdDoc = Nothing
  wrdApp.Quit
  Set wrdApp = Nothing
End Sub
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.