Rem 选择文件-从注册表中获取 Function SG_BrowseForFileFromReg() Dim shell: Set shell = CreateObject("WScript.Shell") Dim fso: Set fso = CreateObject("Scripting.FileSystemObject") Dim tempFolder: Set tempFolder = fso.GetSpecialFolder(2) Dim tempName: tempName = fso.GetTempName() Dim tempFile: Set tempFile = tempFolder.CreateTextFile(tempName & ".hta") tempFile.Write _ "<html>" & _ "<head>" & _ "<title>Browse</title>" & _ "</head>" & _ "<body>" & _ "<input type='file' id='f' />" & _ "<script type='text/javascript'>" & _ "var f = document.getElementById('f');" & _ "f.click();" & _ "var shell = new ActiveXObject('WScript.Shell');" & _ "shell.RegWrite('HKEY_CURRENT_USER\\Volatile Environment\\MsgResp', f.value);" & _ "window.close();" & _ "</script>" & _ "</body>" & _ "</html>" tempFile.Close shell.Run tempFolder & "\" & tempName & ".hta", 0, True SG_BrowseForFileFromReg = shell.RegRead("HKEY_CURRENT_USER\Volatile Environment\MsgResp") shell.RegDelete "HKEY_CURRENT_USER\Volatile Environment\MsgResp" fso.DeleteFile tempName & ".hta" End Function Rem 选择文件-从临时文件中获取 Function SG_BrowseForFileFromTxt() Dim shell: Set shell = CreateObject("WScript.Shell") Dim fso: Set fso = CreateObject("Scripting.FileSystemObject") Dim tempFolder: Set tempFolder = fso.GetSpecialFolder(2) Dim tempName: tempName = fso.GetTempName() Dim tempFile: Set tempFile = tempFolder.CreateTextFile(tempName & ".hta") Dim tempBaseName: tempBaseName = tempFolder & "\" & tempName Rem 写HTML应用程序(hta) tempFile.Write _ "<html><head><meta charset='UTF-8' /><title>Browse</title></head>" & _ "<body><input type='file' id='f'>" & _ "<script type='text/javascript'>" & _ " var f = document.getElementById('f');f.click();" & _ " var fso = new ActiveXObject('Scripting.FileSystemObject');" & _ " var file = fso.OpenTextFile('" & _ Replace(tempBaseName, "\", "\\") & ".txt" & "', 2, true, -1);" & _ " file.Write(' ' + f.value + ' '); file.Close(); window.close();" & _ "</script></body></html>" tempFile.Close shell.Run tempBaseName & ".hta", 1, True Set tempFile = fso.OpenTextFile(tempBaseName & ".txt", 1, False, -1) SG_BrowseForFileFromTxt = Trim(tempFile.ReadLine) tempFile.Close Rem 删除创建的临时文件 fso.DeleteFile tempBaseName & ".hta" fso.DeleteFile tempBaseName & ".txt" End Function
【SolidWorks宏】VBA 选择文件
猜你喜欢
转载自blog.csdn.net/chenlu5201314/article/details/80342857
今日推荐
周排行