html - HTA 中的问题

标签 html vbscript hta

所以我尝试为我的 .bat 文件使用 ScriptGUI(来自 here),但它没有文件选择器,所以我尝试添加一个。

我只是复制并重命名了一些代码,它似乎可以工作,除了为子函数添加另一个变量。

     ' build a file selector
        ElseIf UCase(strSplit(0)) = "FILE" Then
           strHTML = strHTML & Build_File(strLabel,id,Replace(strLabel," ",""),strSplit(2))
           ' store the batch file in the arrControls array
           arrControls(id) = "file,none"
           id = id + 1  

> 问题似乎是这里的代码 "Click_File("& fiId & ","& fiFilter & ")"

  Function Build_File(fiLabel, fiId, fiName, fiFilter)
  ' Construct a file selector
  Dim strHTML
  strHTML = "<input class='button' type='button' name='" _
            & fiName & "' value='" & fiLabel & "' id='" & fiId _
            & "' onClick=" & chr(34) & "Click_File(" & fiId & "," & fiFilter & ")" & chr(34) _
            & " onMouseOver=" & chr(34) & fiName & ".className='button btnhov'" & chr(34) _
            & " onMouseOut=" & chr(34) & fiName & ".className='button'" & chr(34) _
            & ">"
  strHTML = strHTML & " <input type='text' readonly='readonly' value='none' name='fi" & fiName & "' id='fi" & fiId & "'/> "
  Build_File = strHTML
  End Function    

>

    Sub Click_File(strId, fiFilter)
  ' open a file selector
  set objShell= CreateObject("WSCript.Shell")
   myCur = objShell.CurrentDirectory
  Dim file
  file = GetFileName(myCur, fiFilter)
  arrControls(strId) = "file," & file
  document.getElementById("fi" & strId).value = file
  document.getElementById("fi" & strId).size = Len(file) + 2
  End Sub

它告诉我调用子时不能使用括号。

有什么想法吗?

编辑:新问题,

我正在使用 Rob van der Woude 的脚本打开文件对话框(来自 here 的顶级帖子)显然应该在 hta 中工作,但我收到一条错误消息“ActiveX 组件无法创建对象: 'UserAccounts.CommonDialog'"

最佳答案

嗯,消息没有错。在调用 Sub 时,您不能使用括号。

更改此行:

& "' onClick=" & chr(34) & "Click_File(" & fiId & "," & fiFilter & ")" & chr(34) _

到:

& "' onClick=" & chr(34) & "Click_File " & fiId & "," & fiFilter & chr(34) _

看看是否能解决您的问题。

关于html - HTA 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31764677/

相关文章:

html - 将搜索栏定位在 div 的右侧并居中

javascript - 隐藏/显示 Div onChange

arrays - VBScript:函数返回一个数组

Paypal IPN 处理

vbscript - 检查文件是否为空

javascript - 检查是否正在使用视口(viewport)元标记

html - IE8 中没有 fieldset padding top

vbscript - 如何让 MODI 不识别旋转图像?

javascript - 如何使用 WScript.Shell 打开 pdf

javascript - HTA 给出与 Angular 结合的误差