Those ActiveXObjects are very system-dependent, Vista and above no longer support those. You're much better off using native Win32 functions, as those are kept throughout many versions of Windows.
In the case of an open file dialog, you'll have to create an
OPENFILENAME memory structure and then call
GetOpenFileName to open the dialog and receive the results.
Luckily for you, there is already an implementation of this available for Plus! Live, so go have a look at
Matti's reply to CommonDialog help! Here is an example of your code, written for the BrowseForFile() function.
js code:
function MyBrowseForFile() {
return BrowseForFile(
"Select a file to open", //Dialog title
"C:\\", //Start directory
"Text Files (*.txt)|*.txt|All Files|*.*||", //Filters
false //True = save, false = open
); //Returns the selected path, or false if the dialog was canceled
}