在 XP 中,您可以使用带有 UserAccounts.CommonDialog 对象的 VBScript 来打开文件打开对话框(如此处所述),但显然这在 Vista 下不起作用。
是否有适用于两者的文件打开对话框的 VBScript 方法?
或者甚至可以很好地适用于 Vista?
免责声明:我是一个合格的程序员,诚实,并且通常不使用 VBScript - 我是“为朋友”问这个问题的。
在 XP 中,您可以使用带有 UserAccounts.CommonDialog 对象的 VBScript 来打开文件打开对话框(如此处所述),但显然这在 Vista 下不起作用。
是否有适用于两者的文件打开对话框的 VBScript 方法?
或者甚至可以很好地适用于 Vista?
免责声明:我是一个合格的程序员,诚实,并且通常不使用 VBScript - 我是“为朋友”问这个问题的。
您可以创建一个公开COM 接口的简单点网组件,这样您就可以在VBScript(或任何基于COM/ActiveX的技术)中使用它。
...
namespace WinUtility
{
[ComVisible(true), Guid("32284FD3-417E-45fc-A4A0-9344C489053B"),
ClassInterface(ClassInterfaceType.AutoDual)]
public class WinDialog
{
public string ShowOpenFileDialog()
{
string result = string.Empty;
OpenFileDialog d = new OpenFileDialog();
if (d.ShowDialog() == DialogResult.OK) { result = d.FileName; }
return result;
}
}
}
注册组件后,您可以从 VBScript 实例化它:
dim wnd_helper, file_name
Set wnd_helper = CreateObject("WinUtility.WinDialog")
file_name = wnd_helper.ShowOpenFileDialog()
if trim(file_name) <> "" then
msgbox "file: " + file_name
else
msgbox "No file selected."
end if