Invalid Procedure Call
I think it's because you're stacking calls to Dir().
Option Explicit
Sub CopyAll()
Dim VBComp As VBIDE.VBComponent
Dim FName As String
Dim w As String
Dim myFolder As String
myFolder = "C:\Users\Jim\Documents\MsExcel\"
w = Dir(myFolder & "*.xls")
Do While w < ""
Workbooks.Open myFolder & w 'changed to include path
With Workbooks(w)
FName = .Path & "\code.txt"
'just delete it if it's there
'ignore any error if it's not
On Error Resume Next
Kill FName
On Error GoTo 0
For Each VBComp In .VBProject.VBComponents
If VBComp.Type < vbext_ct_Document Then
VBComp.Export FName
ThisWorkbook.VBProject.VBComponents.Import FName
Kill FName
End If
Next VBComp
End With
Workbooks(w).Close Savechanges:=true 'don't you want to save it???
w = Dir()
Loop
End Sub
Pops Jackson wrote:
I have the following code I am trying to execute:
At w = Dir() near the end of the procedure, I get the "Invalid Procedure
Call or Argument" error message. I thought I knew what to do about this but
nothing works.
Any ideas welcomed.
Sub CopyAll()
Dim VBComp As VBIDE.VBComponent
Dim FName As String
Dim w As String
w = Dir("C:\Users\Jim\Documents\MsExcel\*.xls")
Do While w < ""
Workbooks.Open (w)
With Workbooks(w)
FName = .Path & "\code.txt"
If Dir(FName) < "" Then
Kill FName
End If
For Each VBComp In .VBProject.VBComponents
If VBComp.Type < vbext_ct_Document Then
VBComp.Export FName
ThisWorkbook.VBProject.VBComponents.Import FName
Kill FName
End If
Next VBComp
End With
Workbooks(w).Close
w = Dir() ' Error Message "Invalid Procedure Call or Argument"
Loop
End Sub
--
Thanks,
Pops Jackson
--
Dave Peterson
|