2009-06-30 13 views
2

Sie wissen nicht, wie dies überhaupt zu tun, aber wenn der Onclick einer Taste unten ähnelt:Kann ich eine Javascript-Funktion mit Excel VBA neu schreiben?

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

Ist es möglich, wenn ich ConfirmAvailable gesetzt() = „“ Excel VBA verwenden, um Setzen Sie es auf den obigen Wert zurück, oder stellen Sie die Ausgabe sogar immer auf = true ein. Die Ergebnisse werden an eine andere Funktion übergeben, also muss ich sie als wahr zurückgeben, aber im Idealfall möchte ich sie in nichts ändern und sie dann, wenn möglich, in ihren ursprünglichen Zustand zurückversetzen. Jede Hilfe wäre willkommen, da ich mit diesem Zeug nicht gut bin.

+0

Sind Sie sicher, dass Sie nicht JavaScript meinen? Auch "Confrim"? –

+0

Angenommen, er meinte Javascript ... editiert –

+0

Sie werden verdammt sein, so zu tun :-) – dusoft

Antwort

1

Angenommen, der Name der Checkbox ist AvailableCB, und der Name der Schaltfläche ist ConfirmAvailable, die VBA-Version von dem, was Sie suchen, sollte etwa so aussehen.

Wenn der Name der Schaltfläche etwas anderes ist, rufen Sie diese Funktion einfach über die Methode _Click() auf.

+0

Dank A. Scagnelli. Ich werde es versuchen. Ist es möglich, dass VBA die Funktion so umschreibt, dass sie wie oben beschrieben ist? – DOS

+0

Funktioniert nicht wirklich, da es eine Excel-VBA-Funktion schreibt, aber die vorhandene Funktion nicht ersetzt. Ist es möglich, dies zu tun oder den Onclick zu bekommen, um eine andere Funktion aufzurufen? Die Funktion müsste irgendwo geladen werden, von der die Seite sie übernehmen kann. – DOS

+0

Das obige * ist * eine VBA-Funktion. Wonach fragen Sie, wenn Sie sagen: "Ist es möglich, VBA dazu zu bringen, die Funktion so zu schreiben, dass sie wie oben ist?"? –

1

Einfache Antwort: Versuchen Sie JavaScript im Browser auszuschalten. Ein Makro onclick, das wahr oder falsch zurückgibt, steuert häufig, ob eine Verknüpfung befolgt werden soll oder nicht. Wenn JavaScript deaktiviert ist, sollte der Link trotzdem beachtet werden. Ob das funktioniert, hängt davon ab, wie viel Rest der Site das Aktivieren von JavaScript erfordert

+0

Hallo Barrowc, leider ist JavaScript für viele andere Artikel in Die Seite. weiß jemand, ob es möglich ist, Code in die Seite zu injizieren? – DOS

1

Ich habe gefunden, das scheint zu funktionieren, wenn ich die Seite auf meinem C-Laufwerk speichern, aber dies akzeptiert die Änderungen nicht "Live" -Seite, und ich habe keine Erlaubnis, die Änderung auf der "Live" -Seite vorzunehmen.

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

Ich weiß noch nicht, wie die Funktion ändern next_clicked() oder das Format es auf die Seite zurück zu passieren, aber da ich keinen Zugriff auf die „live“ Seite kann ich‘ t mach es trotzdem.

Vielen Dank für die Hilfe und für die Prüfung für mich.