Comment faire la copie d'un webbowser vers Word

ThomasR

XLDnaute Occasionnel
Bonjour le forum,

Voilà j'utilise un webbrowser pour aller sur internet.

ce que je cherche à faire c'est de copier le contenu du webbrowser vers word (comme une copie écran).

je connais la procédure pour copier puis coller dans word la ce que je cherche c'est uniquement la partie copie du webbrowser.

D'avance merci
 

MichelXld

XLDnaute Barbatruc
bonjour Thomas

tu peux tester cette macro ...il restera à voir la mise en forme dans le document Word , une fois le collage efectué


Private Sub CommandButton1_Click()
Dim AppWrd As Word.Application
Dim docWrd As Word.Document
Dim IE As InternetExplorer

Set IE = CreateObject('InternetExplorer.Application')
IE.Visible = False
IE.Navigate WebBrowser1.LocationURL 'adresse du webbrowser
Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop

'---------------------------------------------------------
IE.ExecWB OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT
IE.ExecWB OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT
DoEvents
'---------------------------------------------------------

Set AppWrd = CreateObject('Word.Application')
AppWrd.Visible = True
Set docWrd = AppWrd.Documents.Add
docWrd.Range.PasteAndFormat wdPasteDefault

IE.Quit
Set IE = Nothing
End Sub



bonne soiree
MichelXld
 

ThomasR

XLDnaute Occasionnel
Bonsoir MichelXld, le forum,

Merci pour ce code.

Il est super et je vais le garder car cela peut toujours servir mais je me suis mal exprimé :eek: :eek: .

en fait je cherche a faire un collé de type image car là j'ai le même résulta que si j'avais fait enregistré sous (du site) puis l'ouvrir avec word donc avec la possibilité de modifier.

alors c'est génial car c'est un truc que je voulais faire par le biais d'un aspirateur de site mais la je vais essayer d'adapter ta macro afin de chercher les tout les lien.....

bref :silly: ma demande initial est de copier la partie visible du webbrowser pour la coller dans un doc word

comme si j'avait fait 'Alt' + 'Impr écran'

sinon un grand merci car même si je n'ai pas ma solution j'ai quand même appris quelque chose (et même si cela n'avait pas était le cas merci de ton aide tout simplement).
 

MichelXld

XLDnaute Barbatruc
bonsoir Thomas

excuses moi , j'avais mal compris ta question

tu peux tester le classeur joint


bonne soiree
MichelXld [file name=copieEcranPartieVisible_WebBrowser.zip size=14638]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/copieEcranPartieVisible_WebBrowser.zip[/file]
 

Pièces jointes

  • copieEcranPartieVisible_WebBrowser.zip
    14.3 KB · Affichages: 183

ThomasR

XLDnaute Occasionnel
Bonjour le forum,

Bonjour MichelXld,

Mais ne t'excuse pas ta 1er macro est deja super.
Merci pour cette macro, c'est exactement ce que je chercher.

C'est génial :) // Tu es un pro B)

comment peut on apprendre à utiliser les API ?? car des que je bloque sans solution 'excel' // on me propose une solution API j'aimerais vraiment pourvoir apprendre à utiliser ces fonction.

mais rien que les 1er lignes de ton code ne me parle pas

Code:
Option Explicit

Private Declare Sub keybd_event Lib 'user32' ( _
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)

Private Declare Function FindWindow Lib 'user32' Alias 'FindWindowA' _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    
Private Declare Function GetWindowLong Lib 'user32' Alias _
    'GetWindowLongA' (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    
Private Declare Function SetWindowLong Lib 'user32' Alias 'SetWindowLongA' _
    (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    
Private Declare Function DrawMenuBar Lib 'user32' (ByVal hWnd As Long) As Long

Bonne journée (et encore merci :silly: )
 

MichelXld

XLDnaute Barbatruc
bonjour Thomas

tu trouveras de nombreux exemples sur les API dans ces 2 liens



http://docvb.free.fr/api.php



dans le classeur ,

Private Declare Function FindWindow Lib 'user32' Alias 'FindWindowA' _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetWindowLong Lib 'user32' Alias _
'GetWindowLongA' (ByVal hWnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib 'user32' Alias 'SetWindowLongA' _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long


sert pour récupérer la position de la fenetre (userform) et pour masquer la barre de caption ( là ou il y a le titre de l'USF et la croix de fermeture )



Private Declare Sub keybd_event Lib 'user32' ( _
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)

va permettre la copie d'écran



bonne soiree
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 153
dernier inscrit
SamirN