我与QLikView一起使用的旧打开文件对话框不再适用于Win7。子使用“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
有人可以建议一个有效的打开文件对话框吗?
答案 0 :(得分:1)
MSComDlg.CommonDialog
在Windows 7(已测试)下仍处于活动状态且已注册(已注册),在Windows 8中已被废弃。我认为您在64位操作系统上运行,而该控件仅在32位环境中运行。因此,如果是这种情况,那么所有需要做的就是使用WScript.exe/CScript.exe
目录中的SysWOW64
版本将.vbs脚本作为32位进程运行。
%WinDir%\SysWOW64\WScript.exe script.vbs
%WinDir%\SysWOW64\CScript.exe script.vbs
答案 1 :(得分:0)
comdlg32.dll。
http://support.microsoft.com/kb/957924 或者从网上下载。
将其放在system32文件夹中并使用regsvr32.exe
注册或64位
regsvr32 c:\ Windows \ SysWOW64 \ comdlg32.ocx
它有效。