Vbscript 使用Win7打开文件对话框
我与QLikView一起使用的旧的“打开文件”对话框在Win7上不再工作。sub使用“MSComDlg.CommonDialog”,这是sub的代码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
' 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上,我仍然有使用该对话框的脚本。无论如何谢谢你的留言。