Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Using VBA, one can display most if not all of Excel's builtin dialogs,
using code such as: application,dialogs().show The object browser shows the enum for the constants (such as xlDialogFormulaReplace in the example above). However, I cant find such a constant for the new single box "Find & Replace" dialog introduced in Excel 2002 and beyond and described in KB288291. Any ideas on how to display this puppy? Major |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I don't have 2002 but this works in 2000
b = Application.Dialogs(xlDialogFormulaReplace).Show( _ "find_text", "replace_text") ' see other arg's in help, best to reset them Regards, Peter T wrote in message oups.com... Using VBA, one can display most if not all of Excel's builtin dialogs, using code such as: application,dialogs().show The object browser shows the enum for the constants (such as xlDialogFormulaReplace in the example above). However, I cant find such a constant for the new single box "Find & Replace" dialog introduced in Excel 2002 and beyond and described in KB288291. Any ideas on how to display this puppy? Major |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Peter T. -
This works in Excel 2003 as well, but in is not raising the new Single Box Find & Replace dialog mentioned in the KB article I cited. Which I need to use since 1) it has a "Find All" feature and 2) it is modeless. Thanks for the response, tho. Major On Oct 23, 8:57 am, "Peter T" <peter_t@discussions wrote: I don't have 2002 but this works in 2000 b = Application.Dialogs(xlDialogFormulaReplace).Show( _ "find_text", "replace_text") ' see other arg's in help, best to reset them Regards, Peter T wrote in message oups.com... Using VBA, one can display most if not all of Excel's builtin dialogs, using code such as: application,dialogs().show The object browser shows the enum for the constants (such as xlDialogFormulaReplace in the example above). However, I cant find such a constant for the new single box "Find & Replace" dialog introduced in Excel 2002 and beyond and described in KB288291. Any ideas on how to display this puppy? Major- Hide quoted text - - Show quoted text - |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I found a solution. Ironically, it was by looking at Peter T.'s
profile and earlier posts. I found the command button that corresponded to the menu "Find" function by enumerating the ID & Caption of the commandbar objects to find the ID (1849) and then executed the cmd to raise the dialog. Dim c As CommandBarButton On Error Resume Next Dim colCtrs As Collection Set colctrls = CommandBars.FindControls For Each c In colctrls If InStr(1, c.Caption, "&Find") 0 Then Debug.Print c.ID & " : " & c.Caption & " : " & c.Tag & " : " & c.Type & " : " & c.DescriptionText End If Next I then used SENDKEYS to fill out and run the dialog itself. Not pretty, but effective. Set c = CommandBars.FindControl(ID:=1849) ' Find c.Execute With Application .SendKeys ("ERR:{TAB}") .SendKeys ("%t{TAB}") .SendKeys ("&hw{TAB}") .SendKeys ("%s{DOWN}{TAB}") .SendKeys ("%LC{DOWN}{DOWN}{TAB}") .SendKeys ("%i~~") End With Thanks for the inspiration. Major On Oct 23, 9:36 am, wrote: Peter T. - This works in Excel 2003 as well, but in is not raising the new Single Box Find & Replace dialog mentioned in the KB article I cited. Which I need to use since 1) it has a "Find All" feature and 2) it is modeless. Thanks for the response, tho. Major On Oct 23, 8:57 am, "Peter T" <peter_t@discussions wrote: I don't have 2002 but this works in 2000 b = Application.Dialogs(xlDialogFormulaReplace).Show( _ "find_text", "replace_text") ' see other arg's in help, best to reset them Regards, Peter T wrote in message roups.com... Using VBA, one can display most if not all of Excel's builtin dialogs, using code such as: application,dialogs().show The object browser shows the enum for the constants (such as xlDialogFormulaReplace in the example above). However, I cant find such a constant for the new single box "Find & Replace" dialog introduced in Excel 2002 and beyond and described in KB288291. Any ideas on how to display this puppy? Major- Hide quoted text - - Show quoted text -- Hide quoted text - - Show quoted text - |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Really, I don't recall posting anything quite like that but if it works I'll
take credit for it <g However think I would change - Dim c As CommandBarButton On Error Resume Next Dim colCtrs As Collection Set colctrls = CommandBars.FindControls to Dim c as Object 'CommandBarButton, CommandBarButton, CommandBarComboBox etc dim colctrls as CommandbarConrols Set colctrls = CommandBars.FindControls or simply for each c in CommandBars.FindControls Regards, Peter T wrote in message ups.com... I found a solution. Ironically, it was by looking at Peter T.'s profile and earlier posts. I found the command button that corresponded to the menu "Find" function by enumerating the ID & Caption of the commandbar objects to find the ID (1849) and then executed the cmd to raise the dialog. Dim c As CommandBarButton On Error Resume Next Dim colCtrs As Collection Set colctrls = CommandBars.FindControls For Each c In colctrls If InStr(1, c.Caption, "&Find") 0 Then Debug.Print c.ID & " : " & c.Caption & " : " & c.Tag & " : " & c.Type & " : " & c.DescriptionText End If Next I then used SENDKEYS to fill out and run the dialog itself. Not pretty, but effective. Set c = CommandBars.FindControl(ID:=1849) ' Find c.Execute With Application .SendKeys ("ERR:{TAB}") .SendKeys ("%t{TAB}") .SendKeys ("&hw{TAB}") .SendKeys ("%s{DOWN}{TAB}") .SendKeys ("%LC{DOWN}{DOWN}{TAB}") .SendKeys ("%i~~") End With Thanks for the inspiration. Major On Oct 23, 9:36 am, wrote: Peter T. - This works in Excel 2003 as well, but in is not raising the new Single Box Find & Replace dialog mentioned in the KB article I cited. Which I need to use since 1) it has a "Find All" feature and 2) it is modeless. Thanks for the response, tho. Major On Oct 23, 8:57 am, "Peter T" <peter_t@discussions wrote: I don't have 2002 but this works in 2000 b = Application.Dialogs(xlDialogFormulaReplace).Show( _ "find_text", "replace_text") ' see other arg's in help, best to reset them Regards, Peter T wrote in message roups.com... Using VBA, one can display most if not all of Excel's builtin dialogs, using code such as: application,dialogs().show The object browser shows the enum for the constants (such as xlDialogFormulaReplace in the example above). However, I cant find such a constant for the new single box "Find & Replace" dialog introduced in Excel 2002 and beyond and described in KB288291. Any ideas on how to display this puppy? Major- Hide quoted text - - Show quoted text -- Hide quoted text - - Show quoted text - |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
"Find" a wildcard as a place marker and "replace" with original va | Excel Discussion (Misc queries) | |||
Excel - Golf - how to display "-2" as "2 Under" or "4"as "+4" or "4 Over" in a calculation cell | Excel Discussion (Misc queries) | |||
How to replace "#N/A" w "0"when vlookup couldn't find the match? | Excel Discussion (Misc queries) | |||
Replace dialog should put focus on "Find What" not "Replace With" | Excel Discussion (Misc queries) | |||
VBA code to display the "Find" (Ctrl+F) dialog box | Excel Programming |