Bonjour à tous,

Dans le cadre d'un projet, je dois exécuter des commandes dans une application autre que la suite Office. Je souhaite récupérer le résultat obtenu et le copier dans un fichier texte. Dans la macro, je sélectionne tous le texte et le colle dans le presse papier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 Call Sendkeys("^A", True)
    Call Sleep(300)
 
    Call Sendkeys("^{INSERT}", True)
    Call Sleep(300)
Ensuite, je récupère le contenu du presse-papier dans une variable en faisant :
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
 
    Dim Resultat As String
 
    With New DataObject  'Récupération du contenu du presse-papier dans la variable Resultat
        .GetFromClipboard
        Resultat = .GetText(1)
    End With
 
Puis je colle le contenu de ma variable dans un fichier texte :
 
    Dim i As Integer 
 
    i = FreeFile
    Open "D:\tmp.txt" For Append As i 'Ouverture du fichier texte temporaire
    Print #i, Resultat 'Ecriture du contenu de la variable Resultat dans le fichier texte temporaire
    Close i 'Fermeture et sauvegarde du fichier texte temporaire
Seulement, lors de l'exécution j’obtiens le message d'erreur suivant :

DataObject:GetText Structure FORMATETC non valide
En cherchant sur internet je ne trouve rien de concret et je commence à être à court d'idée.

Merci par avance pour vos réponses.

KiksGirl