Comment appeler la fonction JavaScript dans VBA?

J'ai besoin de passer par un IE confirmer " OK " /"Annuler" message pop-up. J'ai un problème d'exécution d'une fonction JavaScript dans mon script VBA. Mon JavaScript:

 function ConfirmSave()
{
var Ok = confirm('Are you sure all Documents and Information are attached and correct before saving?');

if(Ok)
return true;
else
return false;
}


function submitbutton_click() {
    document.getElementById('FileAttachement2_hdnButtonFlag').value = "SAVE";
    var submitbutton = document.getElementById('cmdDownSave');
    var uploadobj=document.getElementById('FileAttachement2_Uploader1');
    if(!window.filesuploaded)
    {
       if (!ConfirmSave()) return false;
        if(uploadobj.getqueuecount()>0)
        {

            uploadobj.startupload();
        }
        else
        {
            //var uploadedcount=parseInt(submitbutton.getAttribute("itemcount"))||0;
            //if(uploadedcount>0)
            //{
                return true;
            //}
            //alert("Please browse files for upload");
        }
        return false;
    }
    window.filesuploaded=false;
    return true;
}

Dans les processus manuels, lorsque je clique sur le bouton enregistrer, la page pop-up de confirmation de la boîte de message, et ma macro s'arrête en cours d'exécution lorsque le pop-up s'affiche, sauf si il a été cliqué.

Voici le code que j'ai essayé de cliquer sur le bouton enregistrer,

Set ElementNameV = HTMLDoc.getElementsByName("cmdsave")
ElementNameV(0).click

J'ai aussi essayé d'utiliser removeattribute et setattribute avec laquelle le message pop-up a disparu mais il n'est pas en mesure de télécharger le fichier parce que j'ai besoin d'appuyer sur la touche 'OK' dans la zone confirmer le message qui apparaît lorsque vous cliquez sur le bouton enregistrer pour commencer le téléchargement du fichier.

ElementNameV(0).removeAttribute ("onclick")
ElementNameV(0).setAttribute "onclick", "return true"
ElementNameV(0).click

J'ai essayé de lancer la fonction JavaScript à l'aide de script ci-dessous, mais il montre aussi la confirmation de pop-up boîte de message:

Call HTMLDoc.parentWindow.execScript("submitbutton_click()")
  • Puis-je vous demander pourquoi vous n'utilisez pas le natif de VBA/VBScript méthodes?
  • ce que u veux dire par native VBA méthodes? pouvez-vous partager quelques suggestions sur comment puis-je en mesure de contrôler le pop-up message de confirmation lorsqu'il apparaît? parce que mes codes d'arrêter de courir lorsque je clique sur le bouton enregistrer et le pop-up s'affiche
  • Jetez un oeil à cette page... c'est un VBScript OK/Annuler de la boîte de message: stackoverflow.com/questions/3062401/... voir la réponse sélectionnée dans la partie supérieure.
  • Cela peut ou peut ne pas être utile en fonction de ce que vous faites.
  • ce n'est pas ce que je recherche, je n'ai pas besoin de créer un message pop-up. ce dont j'ai besoin est de gérer les messages pop-up qui apparaît quand mon je clique sur le bouton enregistrer à partir d'une page web.
  • Hmm... Alors je m'en excuse. Je suppose que je ne suis pas vraiment comprendre la question. Cette partie ici "Dans le manuel de processus, lorsque je clique sur le bouton enregistrer, la page pop-up de confirmation de la boîte de message, et ma macro s'arrête en cours d'exécution lorsque le pop-up s'affiche, sauf si il a été cliqué." C'est par la conception. Vous essayez de l'éviter?
  • J'ai essayé d'éviter les pop-up en utilisant le removeattribute et setattribute. le pop-up est parti, mais le problème est que le fichier n'est pas le téléchargement qui est parce que j'ai besoin de cliquez sur " OK " dans la fenêtre pop-up pour commencer à télécharger le fichier. Je ne pense pas que d'éviter les pop-up message de confirmation va vous aider. Je pense que j'ai besoin de le contrôler quand il apparaît. mais le problème est que ma macro arrêter de travailler quand il apparaît. Je pense que j'ai besoin d'utiliser les Événements, mais Im peur que je ne sais pas comment.
  • Ok, eh bien, j'espère que quelqu'un d'autre le fera carillon.

InformationsquelleAutor Sandy | 2015-05-14