Vbscript 使用Win7打开文件对话框

Vbscript 使用Win7打开文件对话框,vbscript,openfiledialog,qlikview,Vbscript,Openfiledialog,Qlikview,我与QLikView一起使用的旧的“打开文件”对话框在Win7上不再工作。sub使用“MSComDlg.CommonDialog”,这是sub的代码 ' Sub to show open/save dialog SUB OpenSave (varOpenSaveInputBox, varOpenSaveType, varOpenSaveFilter) ' Create object SET objComDlg32 = CreateObject("MSComDlg.CommonD

我与QLikView一起使用的旧的“打开文件”对话框在Win7上不再工作。sub使用“MSComDlg.CommonDialog”,这是sub的代码

' Sub to show open/save dialog
SUB OpenSave (varOpenSaveInputBox, varOpenSaveType, varOpenSaveFilter)   
   ' Create object
   SET objComDlg32 = CreateObject("MSComDlg.CommonDialog")
   ' Set memory buffer
   objComDlg32.MaxFileSize = 260
   ' Set filter
   objComDlg32.Filter = varOpenSaveFilter
   ' Show dialog 
   IF varOpenSaveType = 0 Then
      objComDlg32.ShowOpen
   ELSE
      objComDlg32.ShowSave
   End IF    
   ' Get filename from dialog
   strOpenSave = objComDlg32.FileName
   ' Check IF dialog is cancelled
   IF strOpenSave <> vbNullString Then
      ' Set to variable
      objOpenSave.SetContent strOpenSave, TRUE
   End If
END SUB
显示打开/保存对话框的子菜单 子OpenSave(varOpenSaveInputBox、varOpenSaveType、varOpenSaveFilter) '创建对象 设置objComDlg32=CreateObject(“MSComDlg.CommonDialog”) '设置内存缓冲区 objComDlg32.MaxFileSize=260 '设置过滤器 objComDlg32.Filter=varOpenSaveFilter '显示对话框 如果varOpenSaveType=0,则 objComDlg32.ShowOpen 其他的 objComDlg32.ShowSave 如果结束 '从对话框中获取文件名 strOpenSave=objComDlg32.FileName '检查对话框是否已取消 如果选择保存vbNullString,则 '设置为变量 objOpenSave.SetContent strOpenSave,TRUE 如果结束 端接头
有人能推荐一个可用的打开文件对话框吗?

只有在安装了visual studio或类似软件的情况下,才会安装comdlg32.dll

或者从网上下载

将其放置在system32文件夹中,并使用regsvr32.exe注册

或用于64位

regsvr32 c:\Windows\SysWOW64\comdlg32.ocx


它可以工作。

MSComDlg.CommonDialog
在Windows 7(已测试)下仍处于活动状态并已注册,但在Windows 8中被放弃。我假定您在64位操作系统上运行,而该控件仅在32位环境下运行。因此,如果是这种情况,则只需使用驻留在
SysWOW64
目录中的
WScript.exe/CScript.exe
版本将.vbs脚本作为32位进程运行即可

%WinDir%\SysWOW64\WScript.exe script.vbs
%WinDir%\SysWOW64\CScript.exe script.vbs

这是不对的。它在WindowsRT中不起作用,但在其他所有版本的操作系统中,Microsoft都支持vb6。我不使用移动设备,所以我不能告诉任何关于WindowsRT的事情,但这是否意味着我所说的是错的?在(桌面)Windows7上,我仍然有使用该对话框的脚本。无论如何谢谢你的留言。