This HowTo uses calls to the ComDlg32.dll file to load the
dialogs. This DLL also contains functions for the Open, Save, Print and Colour dialogs
which can be found in a different How-To. We also use the FINDREPLACE type structure to
hold the different parameters needed to show the dialogs. Apart from that, it is pretty
straight forward.
Add a new form. Add two command buttons, cmdFind and
cmdReplace. Copy the following code into the form:
Option Explicit 'Find/Replace Type Structure Private Type FINDREPLACE lStructSize As Long hwndOwner As Long hInstance As Long flags As Long lpstrFindWhat As String lpstrReplaceWith As String wFindWhatLen As Integer wReplaceWithLen As Integer lCustData As Long lpfnHook As Long lpTemplateName As String End Type 'Common Dialog DLL Calls Private Declare Function FindText _ Lib "comdlg32.dll" _ Alias "FindTextA" (pFindreplace As FINDREPLACE) _ As Long Private Declare Function ReplaceText _ Lib "comdlg32.dll" _ Alias "ReplaceTextA" (pFindreplace As FINDREPLACE) _ As Long 'Delcaration of the type structure Dim frText As FINDREPLACE Private Sub cmdFind_Click() 'Call the find text function FindText frText End Sub Private Sub cmdReplace_Click() 'Call the replace text function ReplaceText frText End Sub Private Sub Form_Load() 'Set the Find/Replace Type properties With frText .lpstrReplaceWith = "Replace Text" .lpstrFindWhat = "Find Text" .wFindWhatLen = 9 .wReplaceWithLen = 12 .hInstance = App.hInstance .hwndOwner = Me.hWnd .lStructSize = LenB(frText) End With End Sub