have you tried the code which i shared
On Thu, Oct 3, 2013 at 1:34 PM, Nasir Khan <nasirkhan.du...@gmail.com>wrote: > Dear Ashish, > Thanks for the code. > My requirement is to import all the word tables from all the sub-folder in > the given path. > I got the following code from the net which obviously is not working. > > Sub DoItNow() > Dim file > Dim path As String > ' the path to the folder > ' make SURE you include the terminating "\" > path = "c:\Test1\" > file = Dir(path & "*.docx") > Do While file <> "" > Documents.Open Filename:=path & file > ' call to macro that does whatever > ' one would assume it is using ActiveDocument! > Call import_word_table_to_excel > ' assuming you want to save the current file > ActiveDocument.Save > ActiveDocument.Close > ' set file to next in Dir > file = Dir() > Loop > End Sub > > Can you please guide me what I am doing wrong and modify your code so that: > > 1) The table imported is from all the document in all the folders in the > Path > 2) The table should come as individual sheet from each document and if > possible the excel sheet is renamed with the name of the file imported. > > Hope you will help please > Nasir Khan > > > On Wed, Oct 2, 2013 at 9:09 AM, ashish koul <koul.ash...@gmail.com> wrote: > >> try this >> >> Sub import_word_table_to_excel() >> Application.DisplayAlerts = False >> Application.ScreenUpdating = False >> Dim fldpath >> Dim fld, fil As Object >> Dim appWord As Word.Application >> Dim docWord As Word.Document >> Dim tableWord As Word.Table >> Dim sdoc As String >> >> >> ' use to choose the folder having word documents >> >> Application.FileDialog(msoFileDialogFolderPicker).Title = "Choose Folder" >> Application.FileDialog(msoFileDialogFolderPicker).Show >> fldpath = >> Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\" >> Set fso = CreateObject("scripting.filesystemobject") >> Set fld = fso.getfolder(fldpath) >> >> Set appWord = New Word.Application >> appWord.Visible = True >> For Each fil In fld.Files >> >> ' browse word documents in a folder >> >> >> If UCase(Right(fil.Path, 4)) = UCase(".doc") Or UCase(Right(fil.Path, 5)) >> = UCase(".docx") Then >> Set docWord = appWord.Documents.Open(fil.Path) >> For Each tableWord In docWord.Tables >> ' copy word tables >> tableWord.Range.Copy >> ' paste it on sheet 1 of excel file >> Sheets(1).Paste >> Destination:=Sheets(1).Range("A65356").End(xlUp).Offset(1, 0) >> Next >> docWord.Close >> End If >> Next fil >> >> >> appWord.Quit >> Sheets(1).Select >> Set tableWord = Nothing >> Set docWord = Nothing >> Set appWord = Nothing >> >> Application.DisplayAlerts = True >> Application.ScreenUpdating = True >> >> End Sub >> >> >> On Mon, Sep 30, 2013 at 12:47 PM, Nasir Khan >> <nasirkhan.du...@gmail.com>wrote: >> >>> >>> Hello All, >>> I have got lot of MS Word files in a folder eg. C:\Test\<many folders >>> here> >>> I wish to copy and paste the Tables from all the word documents in the >>> above mentioned folder to excel. >>> >>> I found Macro1 (see below) which copy and paste the Table in Excel. >>> My requirement is to get the tables from all the documents from each >>> folder in the path C:\Test\ >>> Can Macro 1 be amended *to copy and paste all tables from each folder >>> in C:\Test\* >>> >>> *MACRO 1 TO IMPORT WORD TABLE* >>> Sub ImportWordTable() >>> On Error GoTo errHandler >>> Dim wordDoc As Object >>> Dim wdFileName As Variant >>> Dim noTble As Integer >>> Dim rowNb As Long >>> Dim colNb As Integer >>> Dim x As Long, y As Long >>> x = 1: y = 1 >>> wdFileName = Application.GetOpenFilename("Word files >>> (*.docx),*.docx", , _ >>> "Browse for file containing table to be imported") 'adjust this to >>> the document type you are after >>> If wdFileName = False Then Exit Sub >>> Set wordDoc = GetObject(wdFileName) >>> With wordDoc >>> noTble = wordDoc.tables.Count >>> If noTble = 0 Then >>> MsgBox "No Tables in this document", vbExclamation, "No >>> Tables to Import" >>> Exit Sub >>> End If >>> >>> >>> For k = 1 To noTble >>> With .tables(k) >>> For rowNb = 1 To .Rows.Count >>> For colNb = 1 To .Columns.Count >>> Cells(x, y) = >>> WorksheetFunction.Clean(.cell(rowNb, colNb).Range.Text) >>> y = y + 1 >>> Next colNb >>> y = 1 >>> x = x + 1 >>> Next rowNb >>> End With >>> x = x + 2 >>> Next >>> End With >>> Set wordDoc = Nothing >>> Exit Sub >>> errHandler: >>> MsgBox "Error in generating tables - " & Err.Number & " - " & >>> Err.Description >>> End Sub >>> >>> *MACRO 2 TO RUN ON ALL THE FOLDERS - this gives me runtime error as >>> shown below* >>> >>> Sub RunOnAllFolders() >>> Dim file >>> Dim path As String >>> Dim MyArray() >>> Dim N As Long >>> path = "C:\Test\" >>> file = Dir(path & "*.docx") >>> ReDim MyArray(0) >>> Do While file <> "" >>> If MyArray(0) = "" Then >>> MyArray(0) = file >>> Else >>> ReDim Preserve MyArray(UBound(MyArray) + 1) >>> MyArray(UBound(MyArray)) = file >>> End If >>> file = Dir() >>> Loop >>> For N = 0 To UBound(MyArray) >>> Documents.Open filename:=path & MyArray(N) *'<<runtime error 429 >>> ActiveX Component can't create Object >>* >>> >>> *Call ImportWordTable* >>> >>> ActiveDocument.Save >>> ActiveDocument.Close >>> file = Dir() >>> Next N >>> End Sub >>> Can the runtime error 429 be rectified from Macro 2 >>> >>> Any help would be appreciated. >>> Regards >>> Nasir Khan >>> >>> -- >>> Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? >>> It’s =TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ >>> https://www.facebook.com/discussexcel >>> >>> FORUM RULES >>> >>> 1) Use concise, accurate thread titles. Poor thread titles, like Please >>> Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice >>> will not get quick attention or may not be answered. >>> 2) Don't post a question in the thread of another member. >>> 3) Don't post questions regarding breaking or bypassing any security >>> measure. >>> 4) Acknowledge the responses you receive, good or bad. >>> 5) Jobs posting is not allowed. >>> 6) Sharing copyrighted material and their links is not allowed. >>> >>> NOTE : Don't ever post confidential data in a workbook. Forum owners and >>> members are not responsible for any loss. >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "MS EXCEL AND VBA MACROS" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to excel-macros+unsubscr...@googlegroups.com. >>> >>> To post to this group, send email to excel-macros@googlegroups.com. >>> Visit this group at http://groups.google.com/group/excel-macros. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> >> >> -- >> *Regards* >> * * >> *Ashish Koul* >> >> >> *Visit* >> *My Excel Blog <http://www.excelvbamacros.com/>* >> Like Us on >> Facebook<http://www.facebook.com/pages/Excel-VBA-Codes-Macros/151803898222297> >> Join Us on Facebook <http://www.facebook.com/groups/163491717053198/> >> >> >> P Before printing, think about the environment. >> >> >> >> -- >> Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s >> =TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ >> https://www.facebook.com/discussexcel >> >> FORUM RULES >> >> 1) Use concise, accurate thread titles. Poor thread titles, like Please >> Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice >> will not get quick attention or may not be answered. >> 2) Don't post a question in the thread of another member. >> 3) Don't post questions regarding breaking or bypassing any security >> measure. >> 4) Acknowledge the responses you receive, good or bad. >> 5) Jobs posting is not allowed. >> 6) Sharing copyrighted material and their links is not allowed. >> >> NOTE : Don't ever post confidential data in a workbook. Forum owners and >> members are not responsible for any loss. >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "MS EXCEL AND VBA MACROS" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/excel-macros/X5PaydAfV00/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> excel-macros+unsubscr...@googlegroups.com. >> To post to this group, send email to excel-macros@googlegroups.com. >> Visit this group at http://groups.google.com/group/excel-macros. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- > Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s > =TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ > https://www.facebook.com/discussexcel > > FORUM RULES > > 1) Use concise, accurate thread titles. Poor thread titles, like Please > Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice > will not get quick attention or may not be answered. > 2) Don't post a question in the thread of another member. > 3) Don't post questions regarding breaking or bypassing any security > measure. > 4) Acknowledge the responses you receive, good or bad. > 5) Jobs posting is not allowed. > 6) Sharing copyrighted material and their links is not allowed. > > NOTE : Don't ever post confidential data in a workbook. Forum owners and > members are not responsible for any loss. > --- > You received this message because you are subscribed to the Google Groups > "MS EXCEL AND VBA MACROS" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to excel-macros+unsubscr...@googlegroups.com. > To post to this group, send email to excel-macros@googlegroups.com. > Visit this group at http://groups.google.com/group/excel-macros. > For more options, visit https://groups.google.com/groups/opt_out. > -- *Regards* * * *Ashish Koul* *Visit* *My Excel Blog <http://www.excelvbamacros.com/>* Like Us on Facebook<http://www.facebook.com/pages/Excel-VBA-Codes-Macros/151803898222297> Join Us on Facebook <http://www.facebook.com/groups/163491717053198/> P Before printing, think about the environment. -- Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s =TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ https://www.facebook.com/discussexcel FORUM RULES 1) Use concise, accurate thread titles. Poor thread titles, like Please Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get quick attention or may not be answered. 2) Don't post a question in the thread of another member. 3) Don't post questions regarding breaking or bypassing any security measure. 4) Acknowledge the responses you receive, good or bad. 5) Jobs posting is not allowed. 6) Sharing copyrighted material and their links is not allowed. NOTE : Don't ever post confidential data in a workbook. Forum owners and members are not responsible for any loss. --- You received this message because you are subscribed to the Google Groups "MS EXCEL AND VBA MACROS" group. To unsubscribe from this group and stop receiving emails from it, send an email to excel-macros+unsubscr...@googlegroups.com. To post to this group, send email to excel-macros@googlegroups.com. Visit this group at http://groups.google.com/group/excel-macros. For more options, visit https://groups.google.com/groups/opt_out.