HTA 从 HTML 表单输入文本框中的 VBScript 变量调用 CWD



我有一个输入文本框,我想在加载时显示当前的工作目录。

<script language = "VBScript">
Dim cwd 
cwd = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
Dim Master
Dim Master1
Dim folderdefault
folderdefault = cwd
Sub ChooseSaveFolder
strStartDir = ""
userselections.txtFile.value = PickFolder(strStartDir)
End Sub 
Function PickFolder(strStartDir)
Dim SA, F
Set SA = CreateObject("Shell.Application")
Set F = SA.BrowseForFolder(0, "Choose a folder", 0, strStartDir)
If (Not F Is Nothing) Then
PickFolder = F.Items.Item.path
End If
Set F = Nothing
Set SA = Nothing
End Function 
Sub CheckMaster
Master = userselections.txtFile.value
If userselections.txtFile.value ="" Then
MsgBox "No folder selected." & folderdefault
Else
' Alert "Default folder is now : " & vbCrLf & Master & vbCrLf & cwd
MsgBox "Default folder selected:" & vbCrLf & folderdefault & vbCrLf & "Master=" & Master & vbCrLf & "cwd=" & cwd
End If        
End Sub
</script>

HTML 调用变量 cwd 并自动填充文本区域:

<form name="userselections">
<input type="button" value = "Select Folder" onClick="ChooseSaveFolder()" />
<input type="button" value="Submit" name="run_button"  onClick="vbscript:CheckMaster"><br>
<input type="text" name="txtFile" class="folder" value=cwd />
</form>

输入文本的"值"部分只是在文本字段中按字面意思显示"cwd"。我不确定如何调用 VBScript 变量 cwd 并将其放在文本区域中。我认为它类似于:

document.userselections.txtFile.value = folderdefault

如果 JavaScript 可以调用 VBScript 变量,我将如何去做呢?

以下作品:

<html>
<head>
<script language="vbscript">
Option Explicit
Dim cwd
cwd = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
</script>
<script language="javascript">
window.alert(cwd);
</script>
</head>
<body>
</body>
</html>

使用.hta扩展名保存并运行时,它会显示 HTA 的当前文件夹。


您应该能够从 VBScript 执行以下操作:

document.userselections.txtFile.value = folderdefault

但是您必须确保表单元素已经加载。最简单的方法是在body元素的末尾包含另一个脚本元素,其中包含此代码:

<script language="vbscript">
document.userselections.txtFile.value = folderdefault
</script>

在vbscript上的任何位置添加以下内容:

Sub Window_onLoad
document.getElementsByName("txtFile")[0].value = cwd
End Sub

最新更新