目前我正在学习HTA编程。我有如下要求。
表单中有两个输入框(两者都是必填项)。当我输入值并单击搜索按钮时,将根据输入创建一个URL。应该使用生成的url启动Internet Explorer应用程序。
我的问题是我能够启动IE浏览器,但我无法将URL传递给它。 我尝试了很多方法,但我无法完成它。
我在下面给出了我的代码。我删除了将URL传递给浏览器的错误语法。下面的代码将创建URL并启动一个空白的IE浏览器。
请帮帮我。提前谢谢。
<html>
<head>
<script language="VBScript">
Sub RunProgram
callb = document.getElementById("callb").value
call = document.getElementById("call").value
url = "www.google.com"&callb&"and"&call
msgbox(url)
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "iexplore.exe"
End Sub
</script>
</head>
<body>
<form style="width:254px; height:44px;">
CallB: <input type="text" id="callb" value=""><br>
Call : <input type="text" id="call" value=""><br><br>
<button onclick="RunProgram">search</button>
</form>
</body>
</html>
答案 0 :(得分:3)
您可以使用WShell的Run()方法在默认浏览器中加载URL:
CreateObject("WScript.Shell").Run "www.google.com"
如果要在Internet Explorer中显式加载URL,则需要首先确定IEXPLORE.EXE的完整路径,然后将其传递给Run():
CreateObject("WScript.Shell").Run """" & strExePath & """ www.google.com"
或者
CreateObject("WScript.Shell").Run """" & strExePath & """ " & strURL
注意引号。如果路径包含空格,您将需要在IE的路径周围加引号。要在字符串中指定引号,您必须将其加倍。如果引号令人困惑,您可以使用Chr(34)指定引号字符:
CreateObject("WScript.Shell").Run Chr(34) & strExePath & Chr(34) & " " & strURL
答案 1 :(得分:0)
为了让生活更轻松,我通常使用此函数在变量中添加双引号。
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
一个示例,向您展示如何使用它。
Option Explicit
Dim fso,ws,DossierProgramfiles,Winrar,FileZilla,FireFox
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("WScript.Shell")
DossierProgramfiles = ws.ExpandEnvironmentStrings("%PROGRAMFILES%")
Winrar = DblQuote(DossierProgramfiles & "\Winrar\Winrar.exe")
If fso.FileExists(DossierProgramfiles & "\Winrar\Winrar.exe") Then
MsgBox Winrar,Vbinformation,Winrar
ws.run Winrar
Else
MsgBox "Le fichier " & Winrar & " n'existe pas",VbCritical,"Le fichier " & Winrar & " n'existe pas"
End If
FileZilla = DblQuote(DossierProgramfiles & "\FileZilla FTP Client\filezilla.exe")
If fso.FileExists(DossierProgramfiles & "\FileZilla FTP Client\filezilla.exe") Then
MsgBox FileZilla,Vbinformation,FileZilla
Ws.run FileZilla
Else
MsgBox "Le fichier " & FileZilla & " n'existe pas",VbCritical,"Le fichier " & FileZilla & " n'existe pas"
End If
FireFox = DblQuote(DossierProgramfiles & "\Mozilla Firefox\FireFox.exe")
If fso.FileExists(DossierProgramfiles & "\Mozilla Firefox\FireFox.exe") Then
MsgBox FireFox,Vbinformation,FireFox
ws.run FireFox
Else
MsgBox "Le fichier " & FireFox & " n'existe pas",VbCritical,"Le fichier " & FireFox & " n'existe pas"
End If
'****************************************************************************************************
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'****************************************************************************************************
答案 2 :(得分:0)
尝试使用此HTA:
<html>
<head>
<HTA:APPLICATION
APPLICATIONNAME="Search on Google with Internet Explorer"
BORDER="THIN"
BORDERSTYLE="NORMAL"
ICON="magnify.exe"
INNERBORDER="NO"
MAXIMIZEBUTTON="NO"
MINIMIZEBUTTON="NO"
SCROLL="NO"
SELECTION="NO"
SYSMENU="YES"
SINGLEINSTANCE="YES"/>
<META HTTP-EQUIV="MSThemeCompatible" CONTENT="YES">
<script language="VBScript">
Option Explicit
Dim Titre
Titre = "Search on Google with Internet Explorer"
Self.document.title = Titre
Sub window_onload()
CALL CenterWindow(300,180)
Self.document.bgColor = "Orange"
End Sub
Sub RunProgram()
Dim X,Y,URL,objShell,Param,MaCmd
X = text1.value
Y = text2.value
Param = "#q="& X & "+" & Y &""
URL = "www.google.com"& Param
Set objShell = CreateObject("Wscript.Shell")
msgbox("iexplore.exe " & DblQuote(URL)),VbInformation,Titre
MaCmd = "iexplore.exe "& DblQuote(URL) &""
objShell.Run(MaCmd)
End Sub
'***************************************************
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'***************************************************
'Position Windows
Sub CenterWindow(x,y)
Dim iLeft,itop
window.resizeTo x,y
iLeft = window.screen.availWidth/2 - x/2
itop = window.screen.availHeight/2 - y/2
window.moveTo ileft, itop
End Sub
</script>
</head>
<body><center>
Text1 : <input type="text" id="text1" Name="text1" value="Hackoo"><br>
Text2 : <input type="text" id="text2" Name="text2" value="Vbscript+HTA"><br><br>
<input type="submit" Value="Search on Google" onclick="RunProgram()"></center>
</body>
</html>
答案 3 :(得分:0)
以下代码段会在默认浏览器中启动此网址。
CreateObject("WScript.Shell").Run url