ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Don't understand why I'm getting an argument not optional (https://www.excelbanter.com/excel-programming/352759-dont-understand-why-im-getting-argument-not-optional.html)

Brett Smith[_2_]

Don't understand why I'm getting an argument not optional
 
I am using this program to replace text in other excel vba files. I don't
understand why it is highlighting the ReplacecodeInModule and saying ,
"Compile Error: Argument not optional". It worked before, but what happend
now? I have the code below.

Sub FileSearchforMacros2()

Dim i As Integer
Dim wkbkOne As Workbook

With Application.FileSearch
.LookIn = "C:\Documents and
Settings\BSmith\Desktop\workfiles\changecode"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
If .Execute() 0 Then
'MsgBox "There were " & .FoundFiles.Count & _
' "file(s) found."
For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
Set wkbkOne = Application.Workbooks.Open( _
.FoundFiles(i), , , , Password:=("INGRAM"))
ReplacecodeInModule wkbkOne
ReplacecodeInModule2 wkbkOne
remove_xlfit3_ref wkbkOne
wkbkOne.Save
wkbkOne.Close
Next i
Else
MsgBox "There were no files found."
End If
End With
End Sub

----------------------------------------------------------------------------------------------

Sub ReplacecodeInModule(RepWk As Workbook, myFStr As Variant, myRStr As
Variant)
Dim myCode As String
'Dim myFStr As Variant
'Dim myRStr As Variant
Dim myMod As VBComponent

myFStr = Array("XLfit3_", "ExcludePoints", "IncludePoints")
myRStr = Array("xf4_", "ExcludePoint", "IncludePoint")

For Each myMod In RepWk.VBProject.VBComponents
With myMod.CodeModule

If .CountOfLines 0 Then
myCode = .Lines(1, .CountOfLines)
If InStr(1, myCode, myFStr(i)) 0 Then
'MsgBox myCode
myCode = Replace(myCode, myFStr(i), myRStr(i))
'MsgBox myCode

.DeleteLines 1, .CountOfLines
.InsertLines .CountOfLines + 1, myCode
End If
End If
End With
Next myMod
End Sub

--------------------------------------------------------------------------------------------
Sub ReplacecodeInModule2(RepWk2 As Workbook, myFStr2 As Variant, myRStr2 As
Variant)

Dim myCode2 As String
Dim myMod2 As VBComponent

myFStr2 = Array("XLFitExcludePoint", "XLFitIncludePoint", "YRange")
myRStr2 = Array("xf4_ExcludePoint", "xf4_IncludePoint", "RangeY")

For Each myMod2 In RepWk2.VBProject.VBComponents
With myMod2.CodeModule

If .CountOfLines 0 Then
myCode2 = .Lines(1, .CountOfLines)
If InStr(1, myCode2, myFStr(i)) 0 Then
myCode2 = Replace(myCode2, myFStr2(i), myRStr2(i))

.DeleteLines 1, .CountOfLines
.InsertLines .CountOfLines + 1, myCode2
End If
End If
End With
Next myMod2
End Sub

Bob Phillips[_6_]

Don't understand why I'm getting an argument not optional
 
Untested, but try this
]
Sub FileSearchforMacros2()

Dim i As Integer
Dim wkbkOne As Workbook

With Application.FileSearch
.LookIn = "C:\Documents and
Settings\BSmith\Desktop\workfiles\changecode"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
If .Execute() 0 Then
'MsgBox "There were " & .FoundFiles.Count & _
' "file(s) found."
For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
Set wkbkOne = Application.Workbooks.Open( _
.FoundFiles(i), , , , Password:=("INGRAM"))
ReplacecodeInModule wkbkOne
ReplacecodeInModule2 wkbkOne
remove_xlfit3_ref wkbkOne
wkbkOne.Save
wkbkOne.Close
Next i
Else
MsgBox "There were no files found."
End If
End With
End Sub

----------------------------------------------------------------------------
------------------

Sub ReplacecodeInModule(RepWk As Workbook)
Dim myCode As String
Dim myFStr As Variant
Dim myRStr As Variant
Dim myMod As VBComponent

myFStr = Array("XLfit3_", "ExcludePoints", "IncludePoints")
myRStr = Array("xf4_", "ExcludePoint", "IncludePoint")

For Each myMod In RepWk.VBProject.VBComponents
With myMod.CodeModule

If .CountOfLines 0 Then
myCode = .Lines(1, .CountOfLines)
If InStr(1, myCode, myFStr(i)) 0 Then
'MsgBox myCode
myCode = Replace(myCode, myFStr(i), myRStr(i))
'MsgBox myCode

.DeleteLines 1, .CountOfLines
.InsertLines .CountOfLines + 1, myCode
End If
End If
End With
Next myMod
End Sub

----------------------------------------------------------------------------
----------------
Sub ReplacecodeInModule2(RepWk2 As Workbook)

Dim myCode2 As String
Dim myFStr As Variant
Dim myRStr As Variant
Dim myMod2 As VBComponent

myFStr2 = Array("XLFitExcludePoint", "XLFitIncludePoint", "YRange")
myRStr2 = Array("xf4_ExcludePoint", "xf4_IncludePoint", "RangeY")

For Each myMod2 In RepWk2.VBProject.VBComponents
With myMod2.CodeModule

If .CountOfLines 0 Then
myCode2 = .Lines(1, .CountOfLines)
If InStr(1, myCode2, myFStr(i)) 0 Then
myCode2 = Replace(myCode2, myFStr2(i), myRStr2(i))

.DeleteLines 1, .CountOfLines
.InsertLines .CountOfLines + 1, myCode2
End If
End If
End With
Next myMod2
End Sub

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Brett Smith" wrote in message
...
I am using this program to replace text in other excel vba files. I don't
understand why it is highlighting the ReplacecodeInModule and saying ,
"Compile Error: Argument not optional". It worked before, but what

happend
now? I have the code below.




Gary''s Student

Don't understand why I'm getting an argument not optional
 
Re-examine:

ReplacecodeInModule wkbkOne
ReplacecodeInModule2 wkbkOne
--
Gary's Student


"Brett Smith" wrote:

I am using this program to replace text in other excel vba files. I don't
understand why it is highlighting the ReplacecodeInModule and saying ,
"Compile Error: Argument not optional". It worked before, but what happend
now? I have the code below.

Sub FileSearchforMacros2()

Dim i As Integer
Dim wkbkOne As Workbook

With Application.FileSearch
.LookIn = "C:\Documents and
Settings\BSmith\Desktop\workfiles\changecode"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
If .Execute() 0 Then
'MsgBox "There were " & .FoundFiles.Count & _
' "file(s) found."
For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
Set wkbkOne = Application.Workbooks.Open( _
.FoundFiles(i), , , , Password:=("INGRAM"))
ReplacecodeInModule wkbkOne
ReplacecodeInModule2 wkbkOne
remove_xlfit3_ref wkbkOne
wkbkOne.Save
wkbkOne.Close
Next i
Else
MsgBox "There were no files found."
End If
End With
End Sub

----------------------------------------------------------------------------------------------

Sub ReplacecodeInModule(RepWk As Workbook, myFStr As Variant, myRStr As
Variant)
Dim myCode As String
'Dim myFStr As Variant
'Dim myRStr As Variant
Dim myMod As VBComponent

myFStr = Array("XLfit3_", "ExcludePoints", "IncludePoints")
myRStr = Array("xf4_", "ExcludePoint", "IncludePoint")

For Each myMod In RepWk.VBProject.VBComponents
With myMod.CodeModule

If .CountOfLines 0 Then
myCode = .Lines(1, .CountOfLines)
If InStr(1, myCode, myFStr(i)) 0 Then
'MsgBox myCode
myCode = Replace(myCode, myFStr(i), myRStr(i))
'MsgBox myCode

.DeleteLines 1, .CountOfLines
.InsertLines .CountOfLines + 1, myCode
End If
End If
End With
Next myMod
End Sub

--------------------------------------------------------------------------------------------
Sub ReplacecodeInModule2(RepWk2 As Workbook, myFStr2 As Variant, myRStr2 As
Variant)

Dim myCode2 As String
Dim myMod2 As VBComponent

myFStr2 = Array("XLFitExcludePoint", "XLFitIncludePoint", "YRange")
myRStr2 = Array("xf4_ExcludePoint", "xf4_IncludePoint", "RangeY")

For Each myMod2 In RepWk2.VBProject.VBComponents
With myMod2.CodeModule

If .CountOfLines 0 Then
myCode2 = .Lines(1, .CountOfLines)
If InStr(1, myCode2, myFStr(i)) 0 Then
myCode2 = Replace(myCode2, myFStr2(i), myRStr2(i))

.DeleteLines 1, .CountOfLines
.InsertLines .CountOfLines + 1, myCode2
End If
End If
End With
Next myMod2
End Sub



All times are GMT +1. The time now is 09:09 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com