【问题标题】:HTA Browse to fileHTA 浏览到文件
【发布时间】:2015-01-29 14:21:47
【问题描述】:

我正在尝试浏览文件。

它作为一个简单的 vbs 可以正常工作,但是在 HTA 中会产生错误。

像这样:

sUserList = BrowseToFile
msgbox sUserList

Function BrowseToFile
    Set wShell=CreateObject("WScript.Shell")
    Set oExec=wShell.Exec("mshta.exe ""about:<input type=file id=FILE><script>FILE.click();new ActiveXObject(""Scripting.FileSystemObject"").GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);</script>""")
    BrowseToFile = oExec.StdOut.ReadLine
End Function

错误:

Line 130: Is the wShell.exec
Char 203:
Unterminated String Constant.

我可以调用一个单独的 vbs 并写入文件然后以这种方式获取它。

【问题讨论】:

  • HTA 测试 head>
  • 不要在 cmets 中发布代码 sn-ps,因为它变得有点不可读。 Update your question

标签: vbscript hta


【解决方案1】:

错误的转义嵌套双引号:而不是

... new ActiveXObject(""Scripting.FileSystemObject"")... 

如下使用单引号:

... new ActiveXObject('Scripting.FileSystemObject')... 

编辑:在你的HTATest.hta 我看到一些奇怪的方法:

  • 嵌套&lt;script&gt; ... &lt;script&gt; ... &lt;/script&gt; ... &lt;/script&gt;
  • HTATest.hta 启动mshta.exe,事实上,从mshta.exe HTATest.hta

下一个hta作品(?):

<html> 
  <head> 
    <title>HTA Test
    </title> 
    <HTA:APPLICATION ID="objTest" APPLICATIONNAME="HTATest" SCROLL="no" SINGLEINSTANCE="yes" > 
  </head> 
<SCRIPT LANGUAGE="VBScript">
Path = BrowseToFile
msgboxx= "Path = " & Path
Function BrowseToFile()
Set wShell=CreateObject("WScript.Shell")
  mshtapar="about:<input type=file id=FILE>"_
   & "<script>FILE.click();"_
   & "new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(FILE.value);"_
   & "close();"_
   & "resizeTo(0,0);"_
   & "<//script>"
  msgboxy= "param =" & mshtapar
  Set oExec=wShell.Exec( "mshta.exe " & """" & mshtapar & """")
End Function
</SCRIPT>
  <body>
  </body>

BrowseToFile() 函数中注意&lt;//script&gt; 而不是&lt;/script&gt;。但是,我不认为这种解决方法是一种解决方案...


这是一个简单的hta 示例:和你的一样,但没有麻烦

<html> 
  <head> 
    <title>HTA Test
    </title> 
    <HTA:APPLICATION ID="objTest" APPLICATIONNAME="HTATest" SCROLL="no" SINGLEINSTANCE="yes" > 
  </head> 

<SCRIPT LANGUAGE="VBScript">
<!--
-->
</SCRIPT>

  <body>
    <input type="file" id=FILE>
  </body>

【讨论】:

  • HTA 测试 head>
  • 嗨.. 谢谢。非常感激。我会努力的,看看效果如何。
猜你喜欢
  • 2010-11-02
  • 1970-01-01
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-04
  • 1970-01-01
  • 2020-12-31
相关资源
最近更新 更多