Copier/Coller l'intégralité d'un fichier text

cs_patou1000 Messages postés 17 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 12 juillet 2002 - 20 févr. 2002 à 10:45
cs_ptitfab Messages postés 10 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 27 février 2003 - 20 févr. 2002 à 13:05
bonjour, je voudrais savoir comment peut on copier l'intégralité (tous les caractères sauts de ligne et tabulations) d'un fichier texte (txt) dans le clipboard

merci de vos réponses

1 réponse

cs_ptitfab Messages postés 10 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 27 février 2003
20 févr. 2002 à 13:05
Bonjour,
essaye ça:

Private Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags&, ByVal dwBytes As Long) As Long
Private Const GMEM_MOVEABLE = &H2
Private Const GMEM_ZEROINIT = &H40
Private Const GHND = (GMEM_MOVEABLE Or GMEM_ZEROINIT)
Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalSize Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
Private Const CF_OEMTEXT = 7
Private Const CF_TEXT = 1
Private Const CF_UNICODETEXT = 13
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long

Public Sub LoadTxtToClipboard(ByVal aFilePath As String)
Dim PF As Long
Dim strBuffer As String
Dim hMem As Long
Dim Result As Long

'on lit le fichier
PF = FreeFile()
Open aFilePath For Binary Access Read As #PF
strBuffer = Space(LOF(PF))
Get #PF, 1, strBuffer
Close #PF

'on obtient un handle memoire
hMem = GlobalAlloc(GHND, Len(strBuffer) + 1)
Result = GlobalLock(hMem)
'on copy les données vers la zone memoire allouée
Result = lstrcpy(Result, strBuffer)
If GlobalUnlock(hMem) = 0 Then
If OpenClipboard(0&) <> 0 Then
'on vide le Clipboard
Result = EmptyClipboard()
'on envoye les données
Result = SetClipboardData(CF_OEMTEXT, hMem)
Result = CloseClipboard()
End If
End If
End Sub

Voilà, @+
0
Rejoignez-nous