Excel VBA SendKeys ne pas causer de IE 9 pour enregistrer télécharger

Je suis en train d'écrire une macro pour télécharger un fichier csv à partir de mon site web interne.

Pour de nombreuses raisons, je ne peux pas utiliser tout xmlhttp objets. La macro va télécharger le fichier. Le problème est qu'Internet Explorer 9 invite l'utilisateur à Ouvrir, Enregistrer et Annuler les boutons.

Tandis que dans IE, Alt+Maj+S enregistrer le télécharger, mais je ne peux pas obtenir le Sendkeys "%+s" méthode de VBA Excel pour travailler.

Voici le code correspondant:

Function followLinkByText(thetext As String) As Boolean
   'clicks the first link that has the specified text
    Dim alink As Variant

    'Loops through every anchor in HTML document until specified text is found
    ' then clicks the link
    For Each alink In ie.document.Links
       If alink.innerHTML = thetext Then
            alink.Click
            'waitForLoad
            Application.Wait Now + TimeValue("00:00:01")
            Application.SendKeys "%+s", True

            followLinkByText = True
            Exit Function
        End If
     Next

End Function
Si je ne me trompe pas alors le seul endroit sur le web qui couvre largement sur la façon d'interagir avec le IE Fichier de Téléchargement est ici... siddharthrout.wordpress.com/2012/02/02/...
Si vous avez un lien direct vers le fichier, il est probablement plus facile à l'aide de la URLDownloadToFile la fonction de l'API à la place. Il est l'un des nombreux exemples ici cpearson.com/excel/DownloadFile.aspx
Je doute si c'est un lien direct. BTW, j'ai couvert URLDownloadToFile API function dans la Partie 1 de la le lien ci-dessus.
Il n'est pas un lien direct. C'est une image qui appelle une fonction javascript. J'ai regardé dans de l'appel du javascript directement, mais la page requiert un id qui n'est pas donné jusqu'à ce que l'utilisateur clique sur un lien, qui tire alors l'id à partir d'une base de données et met à la page en utilisant ajax. J'espérais éviter d'avoir à comprendre le javascript car je ne suis pas familier avec javascript en général. @Déroute Ne IE9 ont la même SendMessage limitations précédentes versions IE? IE9 ne prend pas en créer une nouvelle fenêtre, mais plutôt un popup en bas de l'écran. Cette méthode fonctionne de la même manière?
Ce que vous appelez est appelé une barre d'info. Autant que je sache, Il n'est pas un bypass que peu importe ce que vous lisez sur le web. Je suis arrivé qu'en passant l'url d'un exe VB6 l'utilisation de shell. Heureusement, la barre d'info ne fonctionne pas lorsque l'URL est appelée par un webbrowser. En fait j'ai donné beaucoup de solution pour mes clients en fonction de cela. Je peux passer sur ce exe pour vous. Tout ce que vous avez à faire est de shell à partir de VBA et le Téléchargement de Fichier s'ouvre automatiquement avec lesquels vous pouvez interagir à l'aide de l'API. SUITE...

OriginalL'auteur derigible | 2012-07-24