2

これを行う方法がまったくわかりませんが、ボタンの onclick が以下のような場合:

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

ページを C ドライブに保存するとうまくいくように見えますが、これは「ライブ」ページでの変更を受け入れず、「ライブ」ページで変更を行う権限がありません。

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

関数 next_clicked() を変更する方法、またはそれをページに戻す形式を変更する方法はまだわかりませんが、「ライブ」ページにアクセスできないため、とにかくそれを行うことはできません。

助けてくれてありがとう、そして私のためにこれを調べてくれてありがとう。

于 2009-07-01T11:36:03.457 に答える
1

チェックボックスの名前が 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 に答える
1

簡単な答え: ブラウザーで JavaScript をオフにしてみてください。true または false を返すマクロは、多くのonclick場合、リンクをたどるかどうかを制御します。JavaScript がオフの場合は、関係なくリンクをたどる必要があります。これが機能するかどうかは、サイトの残りの部分で JavaScript を有効にする必要があるかどうかによって異なります

于 2009-06-30T23:27:01.677 に答える