2014-05-14 45 views
1

我正在使用創建,寫入和從Excel文件讀取的VBScript創建HTA文件。基本上,Excel文件將是「網站名稱,登錄名和密碼」(最終加密)的數據庫,HTA只是提供了一個界面,可以在文本框中輕鬆查看該信息。如何使用VBScript在HTA文件中操作DropDownBox名稱

我想創建一個「下拉框」,它預先填充了當前存儲在Excel文件中的所有帳戶。這樣,當用戶選擇帳戶名稱時,將顯示相應的登錄名和密碼。

一個下拉框的典型代碼:

<select size="1" name="DropDownBox" onChange="ReadDropdown"> 
    <option value="0"></option> 
    <option value="1">Account 1</option> 
    <option value="2">Account 2</option> 
    <option value="3">Account 3</option> 
</select> 

而不是看「帳號1 ... 2 ... 3等:」我想程序閱讀「網站名稱」當前存儲在Excel文件並在下拉框中使用這些名稱。

例子:

<select size="1" name="DropDownBox" onChange="ReadDropdown"> 
    <option value="0"></option> 
    <option value="1">Facebook</option> 
    <option value="2">GMAIL</option> 
    <option value="3">Stack Over Flow</option> 
</select> 

我不能提前指定的名字,因爲我不知道帳戶將被包含在Excel文件。我假設我可以修改下拉框選項的「值」,但是這不會改變用戶實際看到的文本(例如在文本框中)。


我想出了一個「有趣」的想法。如果我創建了第二個HTA文件來充當「Loader」,該怎麼辦?該裝載機HTA程序將執行以下操作:

  • 打開Excel程序,看看有什麼網站的賬號,目前該文件
  • 打開主HTA文件中,並在Excel中找到的帳戶名稱將其編輯文件,然後保存。
  • 然後運行新保存的主要HTA文件
  • 和關閉本身(裝載機HTA)

只是一個想法。

+1

您不需要第二次HTA:您擁有的可以從Excel文件中讀取值,並使用從文件中讀取的值更新其自己的select元素。使用空選擇編寫HTA,然後可以使用vbscript添加選項。 http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/a7cd4d73-7f70-47e0-9499-b4f6921ffd27/dynamically-populating-combobox-or-select-option?forum=sidebargadfetdevelopment –

回答

0

謝謝您的答覆。

@ilo我有一個問題讓你的答案工作,但最後弄清楚了。我不得不做出第2步中下面代碼的一些變化是最終結果的工作:

MyDropDownBox.InnerHTML = "<select size='1' name='DropDownBox' onChange='ReadDropdown'> <option value="0"></option> 
<option value=" & 1 & ">" & Var1 & "</option> 
<option value=" & 2 & ">" & var2 & "</option> 
<option value=" & 3 & ">" & Var3 & "</option> 
</select>" 
End Sub 

**國際勞工組織的步驟1,但仍需要3爲好。

一旦我想出來,我最終修改了它以適應自己的代碼,但是我在這裏將它留在這裏作爲其他人可能會覺得這有用的一個通用示例。

@ilo - 我打算將答案標記爲答案,但由於我需要在添加值和變量時使用「&」符號進行小改動,所以我想我會自己重寫。但是,我給你答案的全部信用,所以謝謝你。

0

3步驟。

  1. 創建空的跨度,併爲其分配ID在你想看到你的下拉框

    <span id=MyDropdownBox> <span>

  2. 創建子來讀取Excel中的值,並用HTML填寫您的空跨度的地方碼。代碼的HTML部分應該在引號內,而變量則不在。我想你將不得不把它放在一條線上以獲得更好的可靠性!

    Sub DisplayDropdownBox() '// Your code to get the values from Excel and assign to variables. '// Then fill the empty span with dropdown list with values you got. MyDropDownBox.InnerHTML = "<select size='1' name='DropDownBox' onChange='ReadDropdown'> <option value="0"></option> <option value="1">"Var1"</option> <option value="2">"var2"</option> <option value="3">"Var3"</option> </select>" End Sub

  3. 把這種代碼到你的VBScript開始,這將是在每次運行時調用或刷新HTA窗口 Sub Window_onLoad DisplayDropdownBox() End Sub

PS:我有困難時期格式化此文本,因此如果有人想改進格式,可以嘗試這樣做。您也可以在原始文本文件中查看我的答案。myanswer.txt

相關問題