簡體   English   中英

如何使用Excel VBA將變量參數傳遞給Javascript函數

[英]How can I pass variable parameters into a Javascript Function using Excel VBA

我不確定上面是否有正確的術語,但是我想做的是調用一個Javascript函數,該函數將參數從Excel文件傳遞給它,因此該函數將運行並在下一個文本框中列出項目,從而允許我在該文本框中選擇正確的條目,然后選擇最后一個框。

這是我擁有的代碼,如果我不將變量放入其中,則可以正常工作: Call .Document.parentWindow.execScript("FillVendorNames('MyText')", "javascript")如果我在其中放入任何變量的“ MyText”,出現運行時錯誤: Call .Document.parentWindow.execScript("FillVendorNames(cCode)", "javascript") Call .Document.parentWindow.execScript("FillVendorNames(.document.all.ComCode)", "javascript")變量是在代碼的前面聲明的,我可以使用立即數窗口檢查值是否正確,並且它們都是正確的,但是我仍然會遇到運行時錯誤。

我想做的是使用現有功能,該功能根據原始下拉列表中選擇的選項自動填充下拉列表。 如果我在第一個下拉列表中選擇MyText,則FillVendorNames在下一個下拉列表中提供供應商列表,以便我選擇它。 然后,我可以在下一個函數中輸入下一個選項,它會選擇第三個選項,但這全部基於第一個函數創建的第二個下拉列表。 第一個列表會自動加載到頁面上,但第二個列表不會自動加載,因此我無法從中選擇一個選項。 有人可以幫忙嗎? 謝謝。

兩個可能的問題:

  • VBA不會用字符串中的變量值替換變量名

例:

Dim x as String
x = "Hello world!"

Msgbox x
// shows "Hello world!"

Msgbox "x"
// shows "x"
  • 永遠不需要Call (因為您可以省略括號),這可能會導致問題

例:

Call Msgbox("x")
// is almost exactly the same as
Msgbox "x"

只需使用:

With foo
    // do stuff
    .Document.parentWindow.execScript "FillVendorNames(" & cCode & ")", "javascript"
    // do more stuff
End With

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM