Vbscript 动态加载列表框会产生重复的条目
Onload,此HTA列出FolderX中包含的文件,并在列表框中显示它们的名称。当我选择一个文件时,第二个列表框应该列出文件记录(简单的文本项-例如itemA、itemB)。相反,它在第一组和第二组之间用空格列出两次记录。msgbox似乎显示我正在通过FLFLBox_onChange进行两次旅行。为什么会这样? 我不想取消选择该文件,因为它显示了我查看记录的文件(是的,我可以将其放入另一个框中,但这是问题所在)? 谢谢Vbscript 动态加载列表框会产生重复的条目,vbscript,hta,Vbscript,Hta,Onload,此HTA列出FolderX中包含的文件,并在列表框中显示它们的名称。当我选择一个文件时,第二个列表框应该列出文件记录(简单的文本项-例如itemA、itemB)。相反,它在第一组和第二组之间用空格列出两次记录。msgbox似乎显示我正在通过FLFLBox_onChange进行两次旅行。为什么会这样? 我不想取消选择该文件,因为它显示了我查看记录的文件(是的,我可以将其放入另一个框中,但这是问题所在)? 谢谢 <HTA:APPLICATION ID="Filelist
<HTA:APPLICATION ID="FilelistBuilder" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />
<script language=vbscript>
option explicit
dim forReading, forWriting
forReading = 1
forWriting = 2
dim strNewFile, objFSO, objFile, objFiles, strLine, objOption, oFile, colFiles, objFolder
dim objShell, oExec, strWD,intFileCount
dim strTargetFLFL
strTargetFLFL = "C:\FolderX"
Sub Window_Onload
'Creates an on-the-fly listbox of files
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.getFolder(strTargetFLFL)
set colFiles = objFolder.files
intFileCount = 0
For Each oFile in colFiles
strLine = ofile.name
Set objOption = Document.createElement("OPTION")
objOption.Text = strLine
objOption.Value = strLine
FLFLBox.Add(objOption)
intFileCount = intFileCount +1
Next
End Sub
Sub FLFLBox_onChange
'Creates an on-the-fly list of file contents for selected file
dim strTargetFL, strContents, arrContents, ContentRecord
strTargetFL = strTargetFLFL & "\" & FLFLBox.value
msgbox "File Name: " & strTargetFL
Set objFile = objFSO.OpenTextFile(strTargetFL,forReading)
strContents = objFile.ReadAll
arrContents = split(strContents,vbnewline)
For Each ContentRecord in arrContents
Set objOption = Document.createElement("OPTION")
objOption.Text = ContentRecord
objOption.Value = ContentRecord
FLBox.Add(objOption)
Next
End Sub
sub Close_onclick
msgbox "The application will exit and any unsaved data will be lost"
window.close
end sub
</script>
</head>
<body>
<h1> ARPA </h1>
<h2> File List Builder</h2>
<BR>
<input type="button" name=Close value="Close">
<br>
<p>
</p>
</div>
<div id="Action style="position:absolute;top:10%;left:30%">
</div>
<div style="position:absolute;top:5%;left:60%">
List of Files - Click to List Contents;
</div>
<div id="FileListFileList" style="position:absolute;top:10%;left:60%;right:100%">
<select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
</select>
</div>
<div style="position:absolute;top:30%;left:60%">
List File Contents
</div>
<div id="OneFileList" style="position:absolute;top:35%;left:60%;right:100%">
<select listbox name="FLBox" size="10">
</select>
</div>
<div id="FileEdit" style="position:absolute;left:60%">
</div>
</form>
</body>
</html>
选项显式
我喜欢读书,喜欢写作
forReading=1
forWriting=2
dim strNewFile、objFSO、objFile、objFiles、strLine、objOption、oFile、colFiles、objFolder
dim objShell、oExec、strWD、intFileCount
dim标准目标FLFLFL
strTargetFLFLFL=“C:\FolderX”
子窗口加载
'创建文件的动态列表框
设置objFSO=CreateObject(“Scripting.FileSystemObject”)
设置objFolder=objFSO.getFolder(strTargetFLFLFL)
设置colFiles=objFolder.files
intFileCount=0
对于colFiles中的每个文件
strLine=ofile.name
Set objOption=Document.createElement(“选项”)
objOption.Text=strLine
objOption.Value=strLine
flbox.Add(对象选项)
intFileCount=intFileCount+1
下一个
端接头
子接线盒更换
'为所选文件创建文件内容的动态列表
dim strTargetFL、strContents、arrContents、ContentRecord
strTargetFL=strTargetFLFL&“\”&FLFLBox.value
msgbox“文件名:”&strTargetFL
设置objFile=objFSO.OpenTextFile(strTargetFL,forReading)
strContents=objFile.ReadAll
arrContents=split(strContents,vbnewline)
对于arrContents中的每个ContentRecord
Set objOption=Document.createElement(“选项”)
objOption.Text=ContentRecord
objOption.Value=ContentRecord
FLBox.Add(对象选项)
下一个
端接头
次关闭按钮
msgbox“应用程序将退出,任何未保存的数据都将丢失”
窗户关上
端接头
阿帕
文件列表生成器
<HTA:APPLICATION ID="FilelistBuilder" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />
<script language=vbscript>
option explicit
dim forReading, forWriting
forReading = 1
forWriting = 2
dim strNewFile, objFSO, objFile, objFiles, strLine, objOption, oFile, colFiles, objFolder
dim objShell, oExec, strWD,intFileCount
dim strTargetFLFL
strTargetFLFL = "C:\FolderX"
Sub Window_Onload
'Creates an on-the-fly listbox of files
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.getFolder(strTargetFLFL)
set colFiles = objFolder.files
intFileCount = 0
For Each oFile in colFiles
strLine = ofile.name
Set objOption = Document.createElement("OPTION")
objOption.Text = strLine
objOption.Value = strLine
FLFLBox.Add(objOption)
intFileCount = intFileCount +1
Next
End Sub
Sub FLFLBox_onChange
'Creates an on-the-fly list of file contents for selected file
dim strTargetFL, strContents, arrContents, ContentRecord
strTargetFL = strTargetFLFL & "\" & FLFLBox.value
msgbox "File Name: " & strTargetFL
Set objFile = objFSO.OpenTextFile(strTargetFL,forReading)
strContents = objFile.ReadAll
arrContents = split(strContents,vbnewline)
For Each ContentRecord in arrContents
Set objOption = Document.createElement("OPTION")
objOption.Text = ContentRecord
objOption.Value = ContentRecord
FLBox.Add(objOption)
Next
End Sub
sub Close_onclick
msgbox "The application will exit and any unsaved data will be lost"
window.close
end sub
</script>
</head>
<body>
<h1> ARPA </h1>
<h2> File List Builder</h2>
<BR>
<input type="button" name=Close value="Close">
<br>
<p>
</p>
</div>
<div id="Action style="position:absolute;top:10%;left:30%">
</div>
<div style="position:absolute;top:5%;left:60%">
List of Files - Click to List Contents;
</div>
<div id="FileListFileList" style="position:absolute;top:10%;left:60%;right:100%">
<select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
</select>
</div>
<div style="position:absolute;top:30%;left:60%">
List File Contents
</div>
<div id="OneFileList" style="position:absolute;top:35%;left:60%;right:100%">
<select listbox name="FLBox" size="10">
</select>
</div>
<div id="FileEdit" style="position:absolute;left:60%">
</div>
</form>
</body>
</html>
您不需要在select标记中使用onChange=“flflflbox\u onChange”
,因为函数FLFLBox\u onChange运行时没有它,因为您为它指定了名称。将其置于select标记中会导致它运行两次
<HTA:APPLICATION ID="FilelistBuilder" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />
<script language=vbscript>
option explicit
dim forReading, forWriting
forReading = 1
forWriting = 2
dim strNewFile, objFSO, objFile, objFiles, strLine, objOption, oFile, colFiles, objFolder
dim objShell, oExec, strWD,intFileCount
dim strTargetFLFL
strTargetFLFL = "C:\FolderX"
Sub Window_Onload
'Creates an on-the-fly listbox of files
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.getFolder(strTargetFLFL)
set colFiles = objFolder.files
intFileCount = 0
For Each oFile in colFiles
strLine = ofile.name
Set objOption = Document.createElement("OPTION")
objOption.Text = strLine
objOption.Value = strLine
FLFLBox.Add(objOption)
intFileCount = intFileCount +1
Next
End Sub
Sub FLFLBox_onChange
'Creates an on-the-fly list of file contents for selected file
dim strTargetFL, strContents, arrContents, ContentRecord
strTargetFL = strTargetFLFL & "\" & FLFLBox.value
msgbox "File Name: " & strTargetFL
Set objFile = objFSO.OpenTextFile(strTargetFL,forReading)
strContents = objFile.ReadAll
arrContents = split(strContents,vbnewline)
For Each ContentRecord in arrContents
Set objOption = Document.createElement("OPTION")
objOption.Text = ContentRecord
objOption.Value = ContentRecord
FLBox.Add(objOption)
Next
End Sub
sub Close_onclick
msgbox "The application will exit and any unsaved data will be lost"
window.close
end sub
</script>
</head>
<body>
<h1> ARPA </h1>
<h2> File List Builder</h2>
<BR>
<input type="button" name=Close value="Close">
<br>
<p>
</p>
</div>
<div id="Action style="position:absolute;top:10%;left:30%">
</div>
<div style="position:absolute;top:5%;left:60%">
List of Files - Click to List Contents;
</div>
<div id="FileListFileList" style="position:absolute;top:10%;left:60%;right:100%">
<select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
</select>
</div>
<div style="position:absolute;top:30%;left:60%">
List File Contents
</div>
<div id="OneFileList" style="position:absolute;top:35%;left:60%;right:100%">
<select listbox name="FLBox" size="10">
</select>
</div>
<div id="FileEdit" style="position:absolute;left:60%">
</div>
</form>
</body>
</html>
改变
<HTA:APPLICATION ID="FilelistBuilder" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />
<script language=vbscript>
option explicit
dim forReading, forWriting
forReading = 1
forWriting = 2
dim strNewFile, objFSO, objFile, objFiles, strLine, objOption, oFile, colFiles, objFolder
dim objShell, oExec, strWD,intFileCount
dim strTargetFLFL
strTargetFLFL = "C:\FolderX"
Sub Window_Onload
'Creates an on-the-fly listbox of files
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.getFolder(strTargetFLFL)
set colFiles = objFolder.files
intFileCount = 0
For Each oFile in colFiles
strLine = ofile.name
Set objOption = Document.createElement("OPTION")
objOption.Text = strLine
objOption.Value = strLine
FLFLBox.Add(objOption)
intFileCount = intFileCount +1
Next
End Sub
Sub FLFLBox_onChange
'Creates an on-the-fly list of file contents for selected file
dim strTargetFL, strContents, arrContents, ContentRecord
strTargetFL = strTargetFLFL & "\" & FLFLBox.value
msgbox "File Name: " & strTargetFL
Set objFile = objFSO.OpenTextFile(strTargetFL,forReading)
strContents = objFile.ReadAll
arrContents = split(strContents,vbnewline)
For Each ContentRecord in arrContents
Set objOption = Document.createElement("OPTION")
objOption.Text = ContentRecord
objOption.Value = ContentRecord
FLBox.Add(objOption)
Next
End Sub
sub Close_onclick
msgbox "The application will exit and any unsaved data will be lost"
window.close
end sub
</script>
</head>
<body>
<h1> ARPA </h1>
<h2> File List Builder</h2>
<BR>
<input type="button" name=Close value="Close">
<br>
<p>
</p>
</div>
<div id="Action style="position:absolute;top:10%;left:30%">
</div>
<div style="position:absolute;top:5%;left:60%">
List of Files - Click to List Contents;
</div>
<div id="FileListFileList" style="position:absolute;top:10%;left:60%;right:100%">
<select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
</select>
</div>
<div style="position:absolute;top:30%;left:60%">
List File Contents
</div>
<div id="OneFileList" style="position:absolute;top:35%;left:60%;right:100%">
<select listbox name="FLBox" size="10">
</select>
</div>
<div id="FileEdit" style="position:absolute;left:60%">
</div>
</form>
</body>
</html>
<select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
到
<HTA:APPLICATION ID="FilelistBuilder" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />
<script language=vbscript>
option explicit
dim forReading, forWriting
forReading = 1
forWriting = 2
dim strNewFile, objFSO, objFile, objFiles, strLine, objOption, oFile, colFiles, objFolder
dim objShell, oExec, strWD,intFileCount
dim strTargetFLFL
strTargetFLFL = "C:\FolderX"
Sub Window_Onload
'Creates an on-the-fly listbox of files
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.getFolder(strTargetFLFL)
set colFiles = objFolder.files
intFileCount = 0
For Each oFile in colFiles
strLine = ofile.name
Set objOption = Document.createElement("OPTION")
objOption.Text = strLine
objOption.Value = strLine
FLFLBox.Add(objOption)
intFileCount = intFileCount +1
Next
End Sub
Sub FLFLBox_onChange
'Creates an on-the-fly list of file contents for selected file
dim strTargetFL, strContents, arrContents, ContentRecord
strTargetFL = strTargetFLFL & "\" & FLFLBox.value
msgbox "File Name: " & strTargetFL
Set objFile = objFSO.OpenTextFile(strTargetFL,forReading)
strContents = objFile.ReadAll
arrContents = split(strContents,vbnewline)
For Each ContentRecord in arrContents
Set objOption = Document.createElement("OPTION")
objOption.Text = ContentRecord
objOption.Value = ContentRecord
FLBox.Add(objOption)
Next
End Sub
sub Close_onclick
msgbox "The application will exit and any unsaved data will be lost"
window.close
end sub
</script>
</head>
<body>
<h1> ARPA </h1>
<h2> File List Builder</h2>
<BR>
<input type="button" name=Close value="Close">
<br>
<p>
</p>
</div>
<div id="Action style="position:absolute;top:10%;left:30%">
</div>
<div style="position:absolute;top:5%;left:60%">
List of Files - Click to List Contents;
</div>
<div id="FileListFileList" style="position:absolute;top:10%;left:60%;right:100%">
<select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
</select>
</div>
<div style="position:absolute;top:30%;left:60%">
List File Contents
</div>
<div id="OneFileList" style="position:absolute;top:35%;left:60%;right:100%">
<select listbox name="FLBox" size="10">
</select>
</div>
<div id="FileEdit" style="position:absolute;left:60%">
</div>
</form>
</body>
</html>