Presse-papier et vb6

cs_danu Messages postés 11 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 30 avril 2010 - 17 nov. 2006 à 07:48
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 17 nov. 2006 à 23:22
Bonjour à tous ,
il est possible de copier dans le presse-papier du texte et image en même temps (Exemple ctrl+a puis ctrl + c ....sur une page internet explorer ) mais est-il possible de récuperer le texte et l'image en même temps par emple dans word. Je sais utiliser clipboard pour le texte ou pour l'image cela fonctionne quand je renvoie dans un *.doc mais les 2 en même temps ca bloque ?????.
ce que je fais en VB6 ,je suis sur page explorer, je fais "ctrl + a" puis "ctrl + c".... la je recupere le presse-papier avec mon code vb6 et le colle dans un nouveau *.doc, probleme!!! ca marche pour le texte ou pour l'image mais pas pour les 2 en même temp. Je voudrais arriver à faire comme" crtl A " puis "crtl C " et quand un doc. word est ouvert   " coller.". Ce n'est pas très clair... peut-etre. Il faudrai que je puisse coller le texte et l'image
Je dois  bosser  maintenent. si quelqu'un a une idée. je mettrai mon code ce soir.
A +
 danu

4 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
17 nov. 2006 à 08:06
Aide en ligne :

"The Clipboard object can contain several pieces of data as long as each piece is in a different format. For example, you can use the SetData method to put a bitmap on the Clipboard with the vbCFDIB format, and then use the SetText method with the vbCFText format to put text on the Clipboard. You can then use the GetText method to retrieve the text or the GetData method to retrieve the graphic. Data on the Clipboard is lost when another set of data of the same format is placed on the Clipboard either through code or a menu command."
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 nov. 2006 à 08:19
tout dépend du format de clipboard que tu souhaite exploiter...

en passant, ce que tu cherches a faire n'est pas très clair....

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_danu Messages postés 11 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 30 avril 2010
17 nov. 2006 à 22:31
Bonsoir,
j'ai trouvé une solution à mon probleme en passant par VBA dans Word
( Selection.Paste )
mais si quelqu'un a une solution sous VB6, je suis preneur !!
je fais ctrl + A puis ctrl + C sur une page internet explorer puis je clique sur
mon bouton Command1 de mon programme qui récupere le presse-papier et
le met dans un fichier.doc
ce que je ne sais pas faire avec clipboard
???? Clipboard.GetFormat(vbCFBitmap) + (vbCFText) ?????
c'est récupé le format dans le clipboard... je pens ???
voilà mon code :
Private Sub Command1_Click()
'*****************************************
' enregistrer un "document"
Dim Name_Nr As String
Dim Name_Nr3 As String
Dim MyWord As Word.Application
Dim doc As Word.Document
Dim textt As String
Dim textt2 As String
Dim sReturnString As String
Dim Name_Nr2 As String

'****************************************

Name_Nr2 = 1
Label3.Caption = Name_Nr2 + 1
Name_Nr3 = Form2.Text1.Text + 1
sReturnString = InputBox$("Geben sie ein Name oder es wird als Save-Nr..Doc", "Titel", Name_Nr3)
Name_Nr = sReturnString + ".doc"

'************ mon probleme se situe ici **********************

? ?? textt = Clipboard.GetText 'Clipboard.GetFormat(vbCFBitmap) + (vbCFText)

ou

???? textt2 = Clipboard.GetFormat(vbCFBitmap)

je l'ai résolu en dessous

'**********************************************************
Set MyWord = New Word.Application
With MyWord
Set doc = .Documents.Open("c:\Programme\Danvision\contro\tmp35.doc")
'**********************************

' ici j'ai suprimé le doc.GoTo et j'ai mis la commande VBA de word Selection.Paste

??? doc.GoTo = textt '+ textt2
ou
?? doc.GoTo = textt2

Selection.Paste
'*******************************************

doc.SaveAs "c:\Programme\Danvision\save" + "Save_Nr-" + Name_Nr, , , , , ,
False 'enregistre sous un autre nom
.Visible = False 'rend l'application visible ou non
doc.Close wdDoNotSaveChanges
End With
DoEvents
MyWord.Quit
Set doc = Nothing
Set MyWord = Nothing
Clipboard.Clear
Form2.Label3.Caption = Name_Nr3
Call EcritDoc_Ini
Form_Initialize
End Sub

Merci d'avance
danu
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
17 nov. 2006 à 23:22
La réponse, il me semble pourtant bien que je (VB) te l'ai (te l'a) donnée, non ?
Voir mon message plus haut :
Le setdata peut être utilisé deux fois de suite, pour autant que les données sont dans 2 formats différents (ce qui est ton cas).
Le getdata te retournera tour à tour ces 2 données (chacune selon son format) selon le même principe.

Je te rappelle que setdata et getdata ont la syntaxe suivante, qui se réfère à un format
object.SetData data, format
object.GetData (format)

où objet (dans ton cas) est précisément ClipBoard

Que te manque-t-il ???
0
Rejoignez-nous