Web sayfasının ekran görüntüsünü almak

Katılım
7 Mayıs 2006
Mesajlar
365
Excel Vers. ve Dili
2019 İngilizce
Altın Üyelik Bitiş Tarihi
04.12.2019
Merhabalar,

Belli bir web sayfasının ekran görüntüsünü alıp aktif olan safyanın A1 hücresine yapıştırmak istiyorum.

Birkaç kod denedim fakat hep vb ekranının görüntüsünü alıp aktarıyor.

Teşekkürler
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Merhaba

Klavyeden PrintScreen (Prt Scr) tuşuna basıldığında o anki ekran görüntüsü hafızaya alınır.
Sonra Excelde A1 hücresine sağ tıklayıp Yapıştır komutu tıklandığında görüntü yapışır.

Selamlar...
 
Katılım
7 Mayıs 2006
Mesajlar
365
Excel Vers. ve Dili
2019 İngilizce
Altın Üyelik Bitiş Tarihi
04.12.2019
Merhaba

Klavyeden PrintScreen (Prt Scr) tuşuna basıldığında o anki ekran görüntüsü hafızaya alınır.
Sonra Excelde A1 hücresine sağ tıklayıp Yapıştır komutu tıklandığında görüntü yapışır.

Selamlar...
:))))

Belli saatlerde yapılması için bu işi programlayacağız. Manuel olmayacak kısacası :)
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Selenium Basic kullanın 1 satırlık kod.
Kod:
driver.TakeScreenshot.ToExcel [a1]
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
 
Katılım
7 Mayıs 2006
Mesajlar
365
Excel Vers. ve Dili
2019 İngilizce
Altın Üyelik Bitiş Tarihi
04.12.2019
Çok güzel ama şu an için Selenium'u çözmek için yeterli zamana sahip değilim. Yine de fikir için teşekkürler
 
Katılım
7 Mayıs 2006
Mesajlar
365
Excel Vers. ve Dili
2019 İngilizce
Altın Üyelik Bitiş Tarihi
04.12.2019
başka bir yol var mı acaba?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,159
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Web sayfasını hangi tarayıcı ile açıyorsunuz?
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Çok eskiden kullamdığım Iescreenshotinstaller veya Iescreenshotproinstaller programlarını deneyebilirsiniz. Ekran görüntüsünü değil web sayfasının tamamını resim olarak kaydeder. Belki şu an daha iyileri çıkmıştır.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,159
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Biraz netten araştırdım ve aşağıdaki kodlara ulaştım. Biraz revize ederek paylaşıyorum.

Explorer ile çalışmaktadır..

C++:
Option Explicit

Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Const VK_SNAPSHOT As Byte = 44
Private Const SW_SHOWMAXIMIZED = 3
Private Const VK_LCONTROL As Long = &HA2
Private Const VK_V = &H56
Private Const KEYEVENTF_KEYUP = &H2

Sub Web_Sayfa_Resmini_Al()
    Dim IE As Object, Kitap_Adi As String
    Dim Pencere_No As Long, Web_Pencere_Adi As String

    Kitap_Adi = ActiveWorkbook.Name

    Set IE = CreateObject("InternetExplorer.Application")

    IE.Visible = True

    IE.Navigate "www.excel.web.tr"

    Do Until IE.ReadyState = 4: DoEvents: Loop
    
    Web_Pencere_Adi = IE.LocationName & " - Internet Explorer"

    Pencere_No = FindWindow(vbNullString, Web_Pencere_Adi)

    If Pencere_No = 0 Then
        MsgBox "Web sayfasına ulaşılamıyor!"
        Exit Sub
    Else
        ShowWindow Pencere_No, SW_SHOWMAXIMIZED
    End If
    
    DoEvents
    Sleep 1000

    Call keybd_event(VK_SNAPSHOT, 0, 0, 0)

    AppActivate Kitap_Adi
    
    DoEvents
    Sleep 1000
    SendKeys "^v", True

    MsgBox "Web sayfasının resmi excel sayfasına aktarılmıştır.", vbInformation
End Sub
 
Katılım
7 Mayıs 2006
Mesajlar
365
Excel Vers. ve Dili
2019 İngilizce
Altın Üyelik Bitiş Tarihi
04.12.2019
Biraz netten araştırdım ve aşağıdaki kodlara ulaştım. Biraz revize ederek paylaşıyorum.

Explorer ile çalışmaktadır..

C++:
Option Explicit

Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Const VK_SNAPSHOT As Byte = 44
Private Const SW_SHOWMAXIMIZED = 3
Private Const VK_LCONTROL As Long = &HA2
Private Const VK_V = &H56
Private Const KEYEVENTF_KEYUP = &H2

Sub Web_Sayfa_Resmini_Al()
    Dim IE As Object, Kitap_Adi As String
    Dim Pencere_No As Long, Web_Pencere_Adi As String

    Kitap_Adi = ActiveWorkbook.Name

    Set IE = CreateObject("InternetExplorer.Application")

    IE.Visible = True

    IE.Navigate "www.excel.web.tr"

    Do Until IE.ReadyState = 4: DoEvents: Loop
   
    Web_Pencere_Adi = IE.LocationName & " - Internet Explorer"

    Pencere_No = FindWindow(vbNullString, Web_Pencere_Adi)

    If Pencere_No = 0 Then
        MsgBox "Web sayfasına ulaşılamıyor!"
        Exit Sub
    Else
        ShowWindow Pencere_No, SW_SHOWMAXIMIZED
    End If
   
    DoEvents
    Sleep 1000

    Call keybd_event(VK_SNAPSHOT, 0, 0, 0)

    AppActivate Kitap_Adi
   
    DoEvents
    Sleep 1000
    SendKeys "^v", True

    MsgBox "Web sayfasının resmi excel sayfasına aktarılmıştır.", vbInformation
End Sub
Şu satırda hata verdi...

*** AppActivate Kitap_Adi

Run-time error '5'
Invalid procedure call or argument...
 
Katılım
7 Mayıs 2006
Mesajlar
365
Excel Vers. ve Dili
2019 İngilizce
Altın Üyelik Bitiş Tarihi
04.12.2019
Yol mutlaka vardır da siz hiç bir şey açıklamadan yanıt almaya çalışıyorsunuz. Neyi denediniz, neyle almak istiyorsunuz? Hangi sayfayı almak istiyorsunuz?
Excel vba ile "www.excel.web.tr" linkine "Chrome" ya da "IE" ile girip ilk çıkan sayfanın ekran görüntüsünü alıp Excel'in "Sheet1" sayfasının A1 hücresine bu ekran görüntüsünü yapıştırmak istiyorum....

Hangi link'e gireceğinin önemi yok. O benim tarafımdan belirlenecek...

Chrome ya da IE ile Excel arasındaki geçişi sağlayamadığımdan hep sorun çıkıyor. Korhan Bey'in verdiği kodda aynı sorundan takılıyor...
 
Katılım
7 Mayıs 2006
Mesajlar
365
Excel Vers. ve Dili
2019 İngilizce
Altın Üyelik Bitiş Tarihi
04.12.2019
Kitap_Adi = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5) & " - Excel"

şeklinde düzeltince kod takılmadı....
 
Katılım
7 Mayıs 2006
Mesajlar
365
Excel Vers. ve Dili
2019 İngilizce
Altın Üyelik Bitiş Tarihi
04.12.2019
Kod takılmadı fakat görsel yapıştırılmadan işlem bitiyor...
 
Katılım
7 Mayıs 2006
Mesajlar
365
Excel Vers. ve Dili
2019 İngilizce
Altın Üyelik Bitiş Tarihi
04.12.2019
SendKeys "^V", True

bunun yerine

Range("A1").Select
ActiveSheet.Paste

kullanınca işlem tamam
 
Üst