PDF Dosyasında Seçili Alanın Ekran Fotoğrafını Çekmek

Katılım
3 Haziran 2017
Mesajlar
797
Excel Vers. ve Dili
2007, 32
Altın Üyelik Bitiş Tarihi
08/06/2018
Değerli Arkadaşlar,

Userform üzerine koyacağım bir bir buton ile PDF
dosyasından seçtiğim bir alanının ekran fotoğrafını
kaydetmek istiyorum.

Aşağıdaki kod (sanırım kırmızı kısımın revize edilmesi lazım),
excel sayfasının belli bir alanının fotoğrafını çekip kaydediyor ama
çözünürlük çok kötü.

Ben bundan farklı olarak, PDF dosyasından seçtiğim veya bir
web sayfasından seçtiğim alanın ekranın olduğu gibi fotoğrafını almak
istiyorum.

Mümkün mü acaba?

Yardımcı olabilecek arkadaşlara şimdiden teşekkür ediyorum.

Kod:
Private Sub CommandButton1_Click()

 Dim rng As Excel.Range
    Dim cht As Excel.ChartObject
    Const strPath As String = "D:\resim"
    Application.ScreenUpdating = False
   
        Set rng = Sheets("sayfa1").Range("a1:c25")
        rng.CopyPicture xlScreen, xlPicture
        Set cht = Sheets("sayfa1").ChartObjects.Add(0, 0, rng.Width + 10, rng.Height + 10)
        cht.Chart.Paste
        cht.Chart.Export "D:\Resim\" & dosya & ".jpg", Filtername:="JPG"
        cht.Delete
ExitProc:
        Application.ScreenUpdating = True
        Set cht = Nothing
        Set rng = Nothing
End Sub
 
Son düzenleme:
Katılım
3 Haziran 2017
Mesajlar
797
Excel Vers. ve Dili
2007, 32
Altın Üyelik Bitiş Tarihi
08/06/2018
Açık olan PDF sayfasının ekran görüntüsünü alma da olabilir.
Print Screen tuşuyla yapılabilen...

Ama asıl istediğim, bazı harici programlar ile yapılabilen,
PDF üstünde belli bir alanı seçip fotoğraf olarak kaydetmek.

Örneğin ekteki PDF belgesinin sadece 5. sorusunu almak gibi...
 

Ekli dosyalar

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Selamlar,
PDF okuyucuların kendi özellikleri içinde seçtiğiniz alanın fotoğrafını çekme özelliği var. Bu özelliği kullanabilirsiniz.
Aracın adı "ANLIK GÖRÜNTÜ AL" genellikle fotoğraf makinesi simgesiyle gösteriliyor. Bu özelliği kullandığınız zaman pdf sayfasında belirli bir yeri seçip bıraktığınızda herhangi bir butona basma ihtiyacı olmadan görüntüsünü alır.
 
Katılım
3 Haziran 2017
Mesajlar
797
Excel Vers. ve Dili
2007, 32
Altın Üyelik Bitiş Tarihi
08/06/2018
Selamlar,
PDF okuyucuların kendi özellikleri içinde seçtiğiniz alanın fotoğrafını çekme özelliği var. Bu özelliği kullanabilirsiniz.
Aracın adı "ANLIK GÖRÜNTÜ AL" genellikle fotoğraf makinesi simgesiyle gösteriliyor. Bu özelliği kullandığınız zaman pdf sayfasında belirli bir yeri seçip bıraktığınızda herhangi bir butona basma ihtiyacı olmadan görüntüsünü alır.
Teşekkür ederim.

Hocam önerinizle pratik bir yol buldum.
Şimdi şuna ihtiyacım var:

Kod:
soru = (Environ("USERPROFILE") & "\Desktop\")
CreateObject("Shell.Application").Open (soru)
Yukarıdaki kod satırlarıyla PDF dosyamı açıyorum.
Bu PDF dosyasını kapattığımda x isimli userformu nasıl açtırabilirim?
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Selamlar,
Bu özelliği çok tavsiye etmemekle beraber örnek bir dosya hazırladım.
Önermeme sebebim şu: Dosya açık mı değil mi kontrolü için excel dosyanızın arka planında sürekli çalışan bir kod bulunacak. Bu da bilgisayarınızı yorabilir.
Dosya yolunu kendinize uyarlayınız. Kontrol isimli makrodaki msgbox yerine neyin çalışmasını istiyorsanız onu yazınız.
Kod:
Dim knt As Boolean
Function IsFileOpen(filename As String)
    Dim filenum As Integer, errnum As Integer
    On Error Resume Next
    filenum = FreeFile()
    Open filename For Input Lock Read As #filenum
    Close filenum
    errnum = Err
    On Error GoTo 0
    Select Case errnum
        Case 0
         IsFileOpen = False
        Case 70
            IsFileOpen = True
        Case Else
            Error errnum
    End Select
End Function
Sub dosya()
If IsFileOpen("C:\Users\Mustafa Altun\Desktop\SınıfListesi.pdf") Then
'MsgBox "Dosya açık."
knt = True
Else
'MsgBox "Dosya kapalı."
knt = False
End If
End Sub
Sub Kontrol()
Do
DoEvents
dosya
If knt = False Then Exit Do
Loop
MsgBox "Dosya kapandı."
End Sub
 

Ekli dosyalar

Üst