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 :

API 32 bits - 64 bits [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut API 32 bits - 64 bits
    Bonjour,

    J'utilise (sans comprendre) ces API pour mettre du texte dans le presse-papiers :

    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
    Private Declare Function OpenClipboard Lib "user32.dll" ( _
        ByVal hwnd As Long) As Long
    Private Declare Function CloseClipboard Lib "user32.dll" () As Long
    Private Declare Function EmptyClipboard Lib "user32.dll" () As Long
    Private Declare Function SetClipboardData Lib "user32.dll" ( _
        ByVal wFormat As Long, _
        ByVal hMem As Long) As Long
    Private Declare Function GlobalAlloc Lib "kernel32.dll" ( _
        ByVal wFlags As Long, _
        ByVal dwBytes As Long) As Long
    Private Declare Function GlobalLock Lib "kernel32.dll" ( _
        ByVal hMem As Long) As Long
    Private Declare Function GlobalUnlock Lib "kernel32.dll" ( _
        ByVal hMem As Long) As Long
    Private Declare Function GlobalFree Lib "kernel32.dll" ( _
        ByVal hMem As Long) As Long
    Private Declare Function lstrcpy Lib "kernel32.dll" ( _
        ByVal lpStr1 As Any, _
        ByVal lpStr2 As Any) As Long
     
    Private Const CF_TEXT As Long = 1&
     
    Private Const GMEM_MOVEABLE As Long = 2
    '
    Public Sub Exemple()
        Call StringToClipboard("Hello ...")
    End Sub
    Quelqu'un pourrait-il adapter ce code pour qu'il soit également utilisable avec une version 64 bits d'Excel ?

    Merci d'avance.

  2. #2
    Invité
    Invité(e)

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Super ! Merci beaucoup !

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour Daniel
    on est pas obligé d'engager les api pour le clipboard

    mettre un texte dans le clipboard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim string 
    TString = "quelque chose dans le clipboard"
    Set WshShell = WScript.CreateObject("WScript.Shell") 
    WshShell.Run "cmd.exe /c echo " & TString & " | clip", 0, TRUE

    lire le contenu du clipboard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim TextClip 
    set clipo=createobject("htmlfile")
    TextClip =clipo.ParentWindow.ClipboardData.GetData("Text")
    msgbox TextClip
    vider le clipboard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set WshShell = WScript.CreateObject("WScript.Shell") 
    WshShell.Run "cmd.exe /c echo off " &" | clip", 0, TRUE
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Salut Daniel !

    Citation Envoyé par Daniel.C Voir le message
    Quelqu'un pourrait-il adapter ce code pour qu'il soit également utilisable avec une version 64 bits d'Excel ?
    Une page intéressante où il y a pas mal de pré-mâché vers le bas : Declaring API functions in 64 bit Office

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Merci à tous.

    Daniel

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

Discussions similaires

  1. bits,bytes,bit word ?
    Par Battosaiii dans le forum C
    Réponses: 2
    Dernier message: 17/03/2006, 11h29
  2. Comment lire un char bit a bit ?
    Par damien99 dans le forum C++
    Réponses: 9
    Dernier message: 02/02/2006, 21h57
  3. Lire bit par bit
    Par The_Undertaker dans le forum C++
    Réponses: 8
    Dernier message: 01/07/2005, 11h43
  4. Conversion de handles 16 bits <--> 32 bits
    Par Alcatîz dans le forum Windows
    Réponses: 6
    Dernier message: 13/12/2003, 13h40
  5. Désassemblage à la main 16 bits / 32 bits
    Par le mage tophinus dans le forum Assembleur
    Réponses: 12
    Dernier message: 19/04/2003, 00h55

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