Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I posted a question before and it was answered for the most part. I need to
replace 6 strings all at once, but my code only replaces 2 of the 6 variables. How can I change all 6? Here is the code below. Any help would be greatly appreciated. Thanks!! Sub FileSearchforMacros2() Dim i As Integer Dim wkbkOne As Workbook With Application.FileSearch .LookIn = "\\rnumsriggap06\Abase401\Restempl\652" .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 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", "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") 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 |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Oops, please take a look at this code as a replacement of ReplacecodeInModule
Sub below. 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", "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") 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 "Brett Smith" wrote: I posted a question before and it was answered for the most part. I need to replace 6 strings all at once, but my code only replaces 2 of the 6 variables. How can I change all 6? Here is the code below. Any help would be greatly appreciated. Thanks!! Sub FileSearchforMacros2() Dim i As Integer Dim wkbkOne As Workbook With Application.FileSearch .LookIn = "\\rnumsriggap06\Abase401\Restempl\652" .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 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", "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") 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 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm surprised that it did two.
This is untested, but it did compile. Option Explicit Sub ReplacecodeInModule(RepWk As Workbook) Dim myCode As String Dim myFStr As Variant Dim myRStr As Variant Dim myMod As VBComponent Dim iCtr As Long myFStr = Array("XLfit3_", "ExcludePoints", "IncludePoints", _ "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", _ "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") For Each myMod In RepWk.VBProject.VBComponents With myMod.CodeModule For iCtr = LBound(myFStr) To UBound(myFStr) If .CountOfLines 0 Then myCode = .Lines(1, .CountOfLines) If InStr(1, myCode, myFStr(iCtr)) 0 Then 'MsgBox myCode myCode = Replace(myCode, myFStr(iCtr), myRStr(iCtr)) 'MsgBox myCode .DeleteLines 1, .CountOfLines .InsertLines .CountOfLines + 1, myCode End If End If Next iCtr End With Next myMod End Sub And just to remember, your instr() is case sensitive as written and so is your replace(). That might be important. Brett Smith wrote: I posted a question before and it was answered for the most part. I need to replace 6 strings all at once, but my code only replaces 2 of the 6 variables. How can I change all 6? Here is the code below. Any help would be greatly appreciated. Thanks!! Sub FileSearchforMacros2() Dim i As Integer Dim wkbkOne As Workbook With Application.FileSearch .LookIn = "\\rnumsriggap06\Abase401\Restempl\652" .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 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", "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") 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 -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I still wasn't able to get it to replace all of the text. Is there a reason
why it is not replacing the last 3 or 4 variable strings in the array? "Dave Peterson" wrote: I'm surprised that it did two. This is untested, but it did compile. Option Explicit Sub ReplacecodeInModule(RepWk As Workbook) Dim myCode As String Dim myFStr As Variant Dim myRStr As Variant Dim myMod As VBComponent Dim iCtr As Long myFStr = Array("XLfit3_", "ExcludePoints", "IncludePoints", _ "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", _ "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") For Each myMod In RepWk.VBProject.VBComponents With myMod.CodeModule For iCtr = LBound(myFStr) To UBound(myFStr) If .CountOfLines 0 Then myCode = .Lines(1, .CountOfLines) If InStr(1, myCode, myFStr(iCtr)) 0 Then 'MsgBox myCode myCode = Replace(myCode, myFStr(iCtr), myRStr(iCtr)) 'MsgBox myCode .DeleteLines 1, .CountOfLines .InsertLines .CountOfLines + 1, myCode End If End If Next iCtr End With Next myMod End Sub And just to remember, your instr() is case sensitive as written and so is your replace(). That might be important. Brett Smith wrote: I posted a question before and it was answered for the most part. I need to replace 6 strings all at once, but my code only replaces 2 of the 6 variables. How can I change all 6? Here is the code below. Any help would be greatly appreciated. Thanks!! Sub FileSearchforMacros2() Dim i As Integer Dim wkbkOne As Workbook With Application.FileSearch .LookIn = "\\rnumsriggap06\Abase401\Restempl\652" .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 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", "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") 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 -- Dave Peterson |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Did the elements of the myFstr match the code--including upper/lower case?
Brett Smith wrote: I still wasn't able to get it to replace all of the text. Is there a reason why it is not replacing the last 3 or 4 variable strings in the array? "Dave Peterson" wrote: I'm surprised that it did two. This is untested, but it did compile. Option Explicit Sub ReplacecodeInModule(RepWk As Workbook) Dim myCode As String Dim myFStr As Variant Dim myRStr As Variant Dim myMod As VBComponent Dim iCtr As Long myFStr = Array("XLfit3_", "ExcludePoints", "IncludePoints", _ "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", _ "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") For Each myMod In RepWk.VBProject.VBComponents With myMod.CodeModule For iCtr = LBound(myFStr) To UBound(myFStr) If .CountOfLines 0 Then myCode = .Lines(1, .CountOfLines) If InStr(1, myCode, myFStr(iCtr)) 0 Then 'MsgBox myCode myCode = Replace(myCode, myFStr(iCtr), myRStr(iCtr)) 'MsgBox myCode .DeleteLines 1, .CountOfLines .InsertLines .CountOfLines + 1, myCode End If End If Next iCtr End With Next myMod End Sub And just to remember, your instr() is case sensitive as written and so is your replace(). That might be important. Brett Smith wrote: I posted a question before and it was answered for the most part. I need to replace 6 strings all at once, but my code only replaces 2 of the 6 variables. How can I change all 6? Here is the code below. Any help would be greatly appreciated. Thanks!! Sub FileSearchforMacros2() Dim i As Integer Dim wkbkOne As Workbook With Application.FileSearch .LookIn = "\\rnumsriggap06\Abase401\Restempl\652" .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 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", "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") 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 -- Dave Peterson -- Dave Peterson |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Dave,
Not sure what you mean by your question. Are you asking if the program caught the case specific variables in the code? "Dave Peterson" wrote: Did the elements of the myFstr match the code--including upper/lower case? Brett Smith wrote: I still wasn't able to get it to replace all of the text. Is there a reason why it is not replacing the last 3 or 4 variable strings in the array? "Dave Peterson" wrote: I'm surprised that it did two. This is untested, but it did compile. Option Explicit Sub ReplacecodeInModule(RepWk As Workbook) Dim myCode As String Dim myFStr As Variant Dim myRStr As Variant Dim myMod As VBComponent Dim iCtr As Long myFStr = Array("XLfit3_", "ExcludePoints", "IncludePoints", _ "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", _ "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") For Each myMod In RepWk.VBProject.VBComponents With myMod.CodeModule For iCtr = LBound(myFStr) To UBound(myFStr) If .CountOfLines 0 Then myCode = .Lines(1, .CountOfLines) If InStr(1, myCode, myFStr(iCtr)) 0 Then 'MsgBox myCode myCode = Replace(myCode, myFStr(iCtr), myRStr(iCtr)) 'MsgBox myCode .DeleteLines 1, .CountOfLines .InsertLines .CountOfLines + 1, myCode End If End If Next iCtr End With Next myMod End Sub And just to remember, your instr() is case sensitive as written and so is your replace(). That might be important. Brett Smith wrote: I posted a question before and it was answered for the most part. I need to replace 6 strings all at once, but my code only replaces 2 of the 6 variables. How can I change all 6? Here is the code below. Any help would be greatly appreciated. Thanks!! Sub FileSearchforMacros2() Dim i As Integer Dim wkbkOne As Workbook With Application.FileSearch .LookIn = "\\rnumsriggap06\Abase401\Restempl\652" .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 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", "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") 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 -- Dave Peterson -- Dave Peterson |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I think Dave is asking whether the values in your array were correct
(including the case). In otherwords, are you sure the code is checking for the correct strings in the opened workbook. Tim "Brett Smith" wrote in message ... Hi Dave, Not sure what you mean by your question. Are you asking if the program caught the case specific variables in the code? "Dave Peterson" wrote: Did the elements of the myFstr match the code--including upper/lower case? Brett Smith wrote: I still wasn't able to get it to replace all of the text. Is there a reason why it is not replacing the last 3 or 4 variable strings in the array? "Dave Peterson" wrote: I'm surprised that it did two. This is untested, but it did compile. Option Explicit Sub ReplacecodeInModule(RepWk As Workbook) Dim myCode As String Dim myFStr As Variant Dim myRStr As Variant Dim myMod As VBComponent Dim iCtr As Long myFStr = Array("XLfit3_", "ExcludePoints", "IncludePoints", _ "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", _ "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") For Each myMod In RepWk.VBProject.VBComponents With myMod.CodeModule For iCtr = LBound(myFStr) To UBound(myFStr) If .CountOfLines 0 Then myCode = .Lines(1, .CountOfLines) If InStr(1, myCode, myFStr(iCtr)) 0 Then 'MsgBox myCode myCode = Replace(myCode, myFStr(iCtr), myRStr(iCtr)) 'MsgBox myCode .DeleteLines 1, .CountOfLines .InsertLines .CountOfLines + 1, myCode End If End If Next iCtr End With Next myMod End Sub And just to remember, your instr() is case sensitive as written and so is your replace(). That might be important. Brett Smith wrote: I posted a question before and it was answered for the most part. I need to replace 6 strings all at once, but my code only replaces 2 of the 6 variables. How can I change all 6? Here is the code below. Any help would be greatly appreciated. Thanks!! Sub FileSearchforMacros2() Dim i As Integer Dim wkbkOne As Workbook With Application.FileSearch .LookIn = "\\rnumsriggap06\Abase401\Restempl\652" .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 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", "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") 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 -- Dave Peterson -- Dave Peterson |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Just to add to Tim's reply:
In your code, there will be a difference between Brett BRETT brETT bretT brett Case matters the way you wrote the code. Brett Smith wrote: Hi Dave, Not sure what you mean by your question. Are you asking if the program caught the case specific variables in the code? "Dave Peterson" wrote: Did the elements of the myFstr match the code--including upper/lower case? Brett Smith wrote: I still wasn't able to get it to replace all of the text. Is there a reason why it is not replacing the last 3 or 4 variable strings in the array? "Dave Peterson" wrote: I'm surprised that it did two. This is untested, but it did compile. Option Explicit Sub ReplacecodeInModule(RepWk As Workbook) Dim myCode As String Dim myFStr As Variant Dim myRStr As Variant Dim myMod As VBComponent Dim iCtr As Long myFStr = Array("XLfit3_", "ExcludePoints", "IncludePoints", _ "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", _ "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") For Each myMod In RepWk.VBProject.VBComponents With myMod.CodeModule For iCtr = LBound(myFStr) To UBound(myFStr) If .CountOfLines 0 Then myCode = .Lines(1, .CountOfLines) If InStr(1, myCode, myFStr(iCtr)) 0 Then 'MsgBox myCode myCode = Replace(myCode, myFStr(iCtr), myRStr(iCtr)) 'MsgBox myCode .DeleteLines 1, .CountOfLines .InsertLines .CountOfLines + 1, myCode End If End If Next iCtr End With Next myMod End Sub And just to remember, your instr() is case sensitive as written and so is your replace(). That might be important. Brett Smith wrote: I posted a question before and it was answered for the most part. I need to replace 6 strings all at once, but my code only replaces 2 of the 6 variables. How can I change all 6? Here is the code below. Any help would be greatly appreciated. Thanks!! Sub FileSearchforMacros2() Dim i As Integer Dim wkbkOne As Workbook With Application.FileSearch .LookIn = "\\rnumsriggap06\Abase401\Restempl\652" .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 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", "XLFitExcludePoint", "XLFitIncludePoint", "YRange") myRStr = Array("xf4_", "ExcludePoint", "IncludePoint", "xf4_ExcludePoint", "xf4_IncludePoint", "RangeY") 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 -- Dave Peterson -- Dave Peterson -- Dave Peterson |
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Brett,
I must be missing something. Where is variable i set to a value. If InStr(1, myCode, myFStr(i)) 0 Then Only the first comparison is made, are you sure the second comparison is made? *** Sent via Developersdex http://www.developersdex.com *** |
#10
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Are you using Option Explicit? Always a good thing to do.
*** Sent via Developersdex http://www.developersdex.com *** |
#11
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Do you think Option Explicit could be the reason why my program is not
working as planned? I was thinking about that actually. "Edward Ulle" wrote: Are you using Option Explicit? Always a good thing to do. *** Sent via Developersdex http://www.developersdex.com *** |
#12
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Edward,
I never set variable i to any value. I just declared it. "Edward Ulle" wrote: Brett, I must be missing something. Where is variable i set to a value. If InStr(1, myCode, myFStr(i)) 0 Then Only the first comparison is made, are you sure the second comparison is made? *** Sent via Developersdex http://www.developersdex.com *** |
#13
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If you just declare i and never set it to anything then its value will
always be 0 Tim "Brett Smith" wrote in message ... Edward, I never set variable i to any value. I just declared it. "Edward Ulle" wrote: Brett, I must be missing something. Where is variable i set to a value. If InStr(1, myCode, myFStr(i)) 0 Then Only the first comparison is made, are you sure the second comparison is made? *** Sent via Developersdex http://www.developersdex.com *** |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Changing code Modules, PLEASE HELP!! | Excel Programming | |||
Need Code To Print From Code Modules | Excel Programming | |||
Need Code To Print From Code Modules | Excel Programming | |||
When to code in sheet or userform modules and when to use modules | Excel Programming | |||
editing code in modules through VB | Excel Programming |