【问题标题】:HTA call CWD from VBScript variable in HTML form input text boxHTA 从 HTML 表单输入文本框中的 VBScript 变量调用 CWD
【发布时间】:2018-11-25 01:46:49
【问题描述】:

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

<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 变量,我该怎么做?

【问题讨论】:

    标签: javascript variables input vbscript hta


    【解决方案1】:

    将此添加到您的 vbscript 的任何位置:

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

    【讨论】:

      【解决方案2】:

      以下作品:

      <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>
      

      【讨论】:

      • 我不能让它工作!你能给我举个例子吗?将它与上面的代码集成?我将不胜感激!
      • @PCTipsnTricks 抱歉耽搁了;我已经更新了我的答案。
      • @PCTipsnTricks 我无法让它工作 -- 你能详细说明一下吗?你有什么错误吗?只是不设置值吗?
      猜你喜欢
      • 1970-01-01
      • 2013-11-13
      • 2011-05-11
      • 2012-01-27
      • 1970-01-01
      • 2013-08-05
      • 2011-09-21
      • 1970-01-01
      • 2012-01-22
      相关资源
      最近更新 更多