我可以使用Excel VBA重写Javascript函数吗?

不知道如何做到这一点,但如果button的button类似于下面:

onclick="ConfirmAvailable();" function ConfirmAvailable() { if (document.getElementById("AvailableCB").checked) { return YesNoDialog("'Are you sure?'"); } else { return true; } } 

是否有可能,如果我使用Excel VBA设置ConfirmAvailable()=“”将其重置为上述内容,或者甚至始终将输出设置为= true? 结果传递给另一个函数,所以我需要它返回true,但理想情况下,我想将其更改为无,然后将其返回到原始状态,如果可能的话。 任何帮助将不胜感激,因为我不擅长这个东西。

假设checkbox的名称是AvailableCB,并且button的名称是ConfirmAvailable,那么你所要做的VBA版本应该看起来像这样。

  Public Function ConfirmAvailable_Click() ConfirmAvailable_Click = False ' default value = false ' If AvailableCB.Value = True Then ConfirmAvailable_Click = True ' if checked, true ' End Function 

如果button名称是别的,只需从_Click()方法中调用该函数即可。

简单的答案:尝试在浏览器中closuresJavaScript。 返回true或false的onclickmacros常常控制是否应该遵循链接。 如果JavaScriptclosures,则应该遵循链接。 这是否有效取决于网站的其他部分需要启用JavaScript

我发现这似乎工作,如果我将页面保存到我的C驱动器,但是这不接受“活”页面上的更改,我没有权限在“活”页面上进行更改。

 WebBrowser1.document.btnwhatever.attachEvent "onclick", WebBrowser1.document.parentWindow.next_clicked() 

我仍然不知道如何改变函数next_clicked(),或者将其传递回页面的格式,但是因为我没有访问“实时”页面,所以我无法做到这一点。

感谢所有的帮助,并为我看这个。