2017-11-13 31 views
1
Sub google() 
    Set objIE = CreateObject("InternetExplorer.Application") 
    WebSite = "www.google.com" 
    With objIE 
     .Visible = True 
     .navigate WebSite 
     Do While .Busy Or .readyState <> 4 
      Application.SendKeys "({1068})", True 
      DoEvents 
     Loop 
     AppActivate "Internet Explorer" 
     ActiveSheet.Paste 

     Dim shp As Shape 
     With ActiveSheet 
      Set shp = .Shapes(.Shapes.Count) 
     End With 
     shp.Height = 600 
     shp.Width = 800 
     .Document.Forms(0).Submit 
     '.Quit 
    End With 
End Sub 

私はこのコードを使ってExcel VBAマクロを使用してスクリーンショットを撮っています。しかし、このコードは私の画面全体のスクリーンショットを撮っています。私はウェブページだけのスクリーンショットが必要です。誰かがこれで私を助けることができますか?Excelマクロでスクリーンショットを撮る

答えて

3

PrtScは、デスクトップ全体のスクリーンショットを取ります。現在のアプリケーションウィンドウのスクリーンショットを使用するにはAlt + PrtScを使用します。

Application.SendKeys "%{1068}", True 
+0

ご返信ありがとうございます。それは働いている。私も同じコードで問題があります。それは完全にロードされる前にウェブページのスクリーンショットを撮っています。だから、私は空のWebページのスクリーンショットを手に入れました。どうすれば修正できますか? – SenthamilVM

+0

コード内のループは、ページがロードされるのを待っているはずです。ページにコードがあり、ページ自体が既に読み込みを完了した後に読み込みを続ける場合を除きます。私は後者を待つ一般的な方法を知らない。 –

+0

ご返信ありがとうございます。私は問題を解決するための解決策を探しています。何かを見つけたら、私に知らせてください。前もって感謝します。 – SenthamilVM

関連する問題