VBA-Word : Charger presse papier ds IPictureDisp

tisshahel Messages postés 1 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 16 avril 2002 - 16 avril 2002 à 11:40
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 - 16 avril 2002 à 15:13
Salut, j'aimerai charger le contenu du presse papier dans un objet de type IPictureDisp.
Kelk'un saurait-il comment faire svp???

1 réponse

Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
16 avril 2002 à 15:13
Salut,

Le VBA ne possède hélas pas l'objet ClipBoard comme son grand frère VB... Ce qui complique largement les choses.

Pour utiliser le presse papier, il faudra alors utiliser l'API GetClipboardData en association avec les API's OpenClipboard et CloseClipboard.

Je te propose d'aller faire un tour sir le site d'ALLAPI.NET directement sur un exemple:

http://www.allapi.net/apilist/example.php?example=Get%20Clipboard%20Data

Avertissement !!!
Dans l'exemple l'API OpenClipboard utilise comme paramètre la propiété Hwnd du formulaire actif. Encore une fois, VBA ne possède pas une telle propriété pour ces formulaires. Il faudra encore passer par une autre API pour connaître le Hwnd (handle) du formulaire actif.

Voici la déclaration de l'API GetActiveWindow:
Private Declare Function GetActiveWindow Lib "user32" () As Long

Pour connaître le Hwnd de la fenêtre en cours:
Dim WinHwnd as Long
WinHwnd = GetActiveWindow

Bonne chance

Tchao

NéoB
0
Rejoignez-nous