2

根本不知道该怎么做,但是如果一个按钮的点击类似于下面:

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

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

4

3 回答 3

1

简单的答案:尝试在浏览器中关闭 JavaScript。返回 true 或 false的onclick宏通常控制是否应遵循链接。如果 JavaScript 已关闭,则无论如何都应遵循该链接。这是否有效取决于站点的其余部分需要启用 JavaScript

于 2009-06-30T23:27:01.677 回答
1

我发现如果我将页面保存到我的 C 驱动器,这似乎可行,但这不接受“实时”页面上的更改,并且我无权在“实时”页面上进行更改。

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

我仍然不知道如何更改函数 next_clicked() 或将其传递回页面的格式,但由于我无法访问“实时”页面,所以无论如何我都无法做到。

感谢大家的帮助和为我调查这个。

于 2009-07-01T11:36:03.457 回答
1

假设 Checkbox 的名称是 AvailableCB,并且按钮的名称是 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

如果按钮名称是其他名称,只需从其 _Click() 方法调用此函数。

于 2009-06-30T14:13:39.947 回答