IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Probleme SENDKEYS sauvegarde sous word [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 168
    Par défaut Probleme SENDKEYS sauvegarde sous word
    Bonjour,

    Voila en vue de mon projet de stage, j'upload un fichier .doc a partir de l'Intranet de la société. Je cherche alors le moyen de sauvegarder ce document sur mon poste. Pour cela je pensais utiliser un SENDKEYS "^{S}" pour lancer la boite "Sauvegarder sous...".

    Cependant je me se rendus compte que le SENDKEYS ne s'effectuait passur Word mais plutot sur IE ou même sur l'editeur VBA, je ne sais pas trop. J'aurais donc aimé savoir comment dire à Excel de réaliser la simulation de touche sous Word.

    Ci-dessous le code que j'utilise. Où S est la page ou je trouve le fichier word.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    Sub IE_dl2(S As String)
    'nécéssite d'activer la référence Microsoft HTML Objects Library
    'nécéssite d'activer la référence Microsoft Internet Controls
     
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
    IE.Navigate S
     
    Dim x As Integer
     
    Sleep 3000
    Set maPageHtml = IE.document
     
    For x = 0 To maPageHtml.Links.Length - 1
        ext = Right(maPageHtml.Links(x), 3)
        If ext = "pdf" Then
            maPageHtml.Links(x).Click
            Sleep 1000
            SendKeys "+^{S}", 1
            Sleep 1000
            SendKeys "^{X}"
            Sleep 1000
            SendKeys ThisWorkbook.Path, 1
            Sleep 500
            SendKeys "{\}"
            Sleep 1000
            SendKeys "^{V}"
            Sleep 1000
            SendKeys "{ENTER}"
        ElseIf ext = "doc" Then
            maPageHtml.Links(x).Click
            'Sleep 1000
            'SendKeys "^{S}"
            'Sleep 1000
            'SendKeys "^{X}"
            'Sleep 1000
            'SendKeys ThisWorkbook.Path, 1
            'Sleep 500
            'SendKeys "{\}"
            'Sleep 1000
            'SendKeys "^{V}"
            'Sleep 1000
            'SendKeys "{ENTER}"
        End If
    Next
    En esperant une reponse de votre part,

    Chipss

  2. #2
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Bonjour,

    en fait on ne recommande pas trop l'utilisation de SendKeys avec Word, car il est préférable d'utiliser l'automation (prise de contrôle d'une application office par du code VBA).

    je pense raisonnablement qu'il y a des exemples d'automation word sur la/les FAQ VBA.

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 168
    Par défaut
    Merci cafeine pour ta reponse,

    Bon je sais pas trop ce qu'est l'automation mais tu as raison l'utilisation du SENDKEYS pour ce genre de chose était superflu.

    J'ai reglé mon probleme grâce à un GetObject associé à un SaveAs

    Ci-dessous mon code finale si ca interesse qq'un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    Sub IE_dl2(S As String)
    'nécéssite d'activer la référence Microsoft HTML Objects Library
    'nécéssite d'activer la référence Microsoft Internet Controls
     
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
    IE.Navigate S
     
    Dim PPath As String
    Dim x As Integer
     
    Sleep 3000
    Set maPageHtml = IE.document
     
    For x = 0 To maPageHtml.Links.Length - 1
        ext = Right(maPageHtml.Links(x), 3)
        If ext = "pdf" Then
            maPageHtml.Links(x).Click
            Sleep 3000
            SendKeys "+^{S}", 1
            Sleep 1000
            SendKeys "^{X}"
            Sleep 1000
            SendKeys ThisWorkbook.Path, 1
            Sleep 500
            SendKeys "{\}"
            Sleep 1000
            SendKeys "^{V}"
            Sleep 1000
            SendKeys "{ENTER}"
        ElseIf ext = "doc" Then
            maPageHtml.Links(x).Click
            Sleep 10000
            Set appwd = GetObject(, "Word.application")
            PPath = Mid(ThisWorkbook.Path, 1, Len(ThisWorkbook.Path) - 6)
            DocName = appwd.ActiveDocument.Name
            appwd.ActiveDocument.SaveAs Filename:=PPath & "\" & DocName
        ElseIf ext = "xls" Then
            maPageHtml.Links(x).Click
        End If
    Next
     
    End Sub
    Voila bne fin de journée .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme insertion table sous word en VBA
    Par hamster. dans le forum VBA Word
    Réponses: 4
    Dernier message: 11/06/2008, 16h06
  2. Probleme avec Tableau sous Word
    Par gilles06 dans le forum VBA Word
    Réponses: 8
    Dernier message: 26/02/2008, 23h03
  3. Probleme d'importation sous word
    Par Nancyfr dans le forum Access
    Réponses: 3
    Dernier message: 07/08/2007, 08h59
  4. Probleme de sauvegarde sous webfolder
    Par tatoine80 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/06/2007, 09h36
  5. Réponses: 3
    Dernier message: 25/01/2006, 17h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo