You can use this function MacroReplaceText() to replace object name, whatever, in macro with VBA. Run it as:
  MacroReplaceText "Macro1","OldForm", "frmMyNewForm"
  You can use the same technique to make new macro, just create a text file in proper format, check ~macrotemp.txt file to find this out.      Public Function MacroReplaceText(strMacro As String, _
              strToFind As String, _
              strToReplace As String)
       
          Dim strTempFile As String
          Dim lngPos1 As Long
                 Dim intFile As Integer, strLine As String
            Dim strResult As String
             strTempFile = Environ("Temp") & "\~macrotemp.txt"
          intFile = FreeFile
       
          If Len(Dir(strTempFile)) > 0 Then _
              Kill strTempFile
       
          
          Application.SaveAsText acMacro, strMacro, strTempFile
       
          Open strTempFile For Input As #intFile
          Do Until EOF(intFile)
              If Len(strLine) > 0 Then
                  strResult = strResult & vbCrLf & strLine
              End If
              Line Input #intFile, strLine
          Loop
       
          strResult = strResult & vbCrLf & strLine
          Close #intFile
       
          If Len(Dir(strTempFile)) > 0 Then _
              Kill strTempFile
       
          strResult = Replace(strResult, strToFind, strToReplace)
       
          lngPos1 = InStr(1, strResult, "Version")
          If lngPos1 > 0 Then
              Open strTempFile For Output As #intFile
              Print #intFile, Mid(strResult, lngPos1)
              Close #intFile
              Application.LoadFromText acMacro, strMacro, strTempFile
          End If
          If Len(Dir(strTempFile)) > 0 Then _
              Kill strTempFile
       
      End Function
       
   
  Labels: Access, Code Samples
						 
						
						
					  
					  
0 Comments:
Post a Comment
<< Home