WINCC中如何编写vbs程序可以弹出保存路径对话框,并将excel文件默认以当前时间命名(可以修改文件名)保存到自己想保存的路径下
最佳答案
vbs调用保存对话框的方法不止一种,但都依赖于其它组件/控件,我最终测试下来比较好用的(win7 64位系统)是调用sarrcdlg.dll,这个文件可以自行去网上搜
以下代码仅供参考:
------------------------------------------------------------------------------------------------------------
dim objDialog,objFSO,intReturn
dim a,b,c,d,e,f,g,z
''''需要下载和注册SAFRCFileDlg.dll文件
''''-----------------------------------------------------------------------------------------------------
''''以下两行语句存入记事本,并把文件扩展名由txt改为bat,然后双击执行,注意bat文件需要与dll文件在一个目录
''''32位系统注册代码(去掉前面的单引号)
''''Copy /y safrcdlg.dll %windir%\system32\
''''regsvr32/s %windir%\system32\safrcdlg.dll
''''-----------------------------------------------------------------------------------------------------
''''64位系统注册代码(去掉前面的单引号)
''''Copy /y safrcdlg.dll %windir%\SysWOW64
''''regsvr32 %windir%\SysWOW64\safrcdlg.dll
''''-----------------------------------------------------------------------------------------------------
Set objDialog = WScript.CreateObject("SAFRCFileDlg.FileSave")
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
''''文件名和后缀,可酌情修改
a = now()
b = year(a)
c = month(a)
d = day(a)
e = hour(a)
f = minute(a)
g = second(a)
z = b & c & d & e & f & g
objDialog.FileName = InputBox("文件名称:","文件名",z)
objDialog.FileType = ".xlsx"
intReturn = objDialog.OpenFileSaveDlg
If intReturn Then
objFSO.CreateTextFile objDialog.FileName & objDialog.FileType,True,True
Else
WScript.Quit
End If
提问者对于答案的评价:
您好 sarrcdlg.dll 这个我网上搜索不到呢
最佳答案作者回复:
抱歉,昨天直接建了一个vbs文件测试ok,今天在wincc中测试不行,原因是WSH对象不被wincc支持,wincc用createobject方法代替Wsh随附的对象,但是safrcfiledlg并非windows自带对象,因此即使用createobject方法也不行
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc355063.html