• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Userform içindeki resmi klasöre alma?

  • Konbuyu başlatan Konbuyu başlatan hsayar
  • Başlangıç tarihi Başlangıç tarihi
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Userform'un picture özelliğine yüklenmiş resmi;
C:\fRESIM içine almak mümkün mü?
 
yardımcı olursanız sevinirim.
 
zeki hocam googlede bir örnek buldum

mIMGCOPY adlı bir modüle;
Kod:
'==================================================================================================
'        Kaynak: http://www.sqldrill.com/excel/programming-vba-vb-c-etc/
'                279245-copy-picture-image-control.html
'
'        Yazar  : Michel Pierron  - 21.01.2009
'
'        Düzen  : Hüseyin SAYAR   - 05.02.2011
'                 Resmin ne yapılacağını içerir enum tanımı eklendi.
'                 Modüle enm kontrolü eklendi.

'        Görev  : Kontrol içersindeki resmi isteğe bağlı olarak Klasöre (varsayılan)yada
'                 Aktif çalışma sayfasına bmp formatı ile kopyalar.
'
'==================================================================================================

    Private Declare Function OpenClipboard& Lib "user32" (ByVal hwnd As Long)
    Private Declare Function EmptyClipboard Lib "user32" () As Long
    Private Declare Function SetClipboardData& Lib "user32" (ByVal wFormat&, ByVal hMem&)
    Private Declare Function CloseClipboard& Lib "user32" ()
    Private Declare Function DestroyIcon& Lib "user32" (ByVal hIcon&)

    Public Enum rsmCIKTI
      enmKLASOR = 0
      enmWKS = 1
    End Enum

    Public Sub sbRESIMKOPYALA(oCONTROL As Object, _
                                     Optional CIKTITIPI As rsmCIKTI = 0, _
                                     Optional sADVEYOL As String = "c:\a.bmp")
    On Error Resume Next
      Dim iPic As StdPicture, hCopy&
      Set iPic = oCONTROL.Picture
      OpenClipboard 0&: EmptyClipboard
      hCopy = SetClipboardData(2, iPic.Handle)
      CloseClipboard
        If hCopy Then
          If CIKTITIPI = enmWKS Then
            'Çalışma Sayfasına kopyalarız
            ActiveSheet.Cells(1, 1).Select
            ActiveSheet.Paste
          Else
            'hardiske kopyalarız
            'On Error Resume Next
            Kill sADVEYOL
            SavePicture iPic, sADVEYOL
          End If
        End If
        
        
      DestroyIcon iPic.Handle
      Set iPic = Nothing
    End Sub

usetforma
Kod:
Private Sub CommandButton1_Click()
'Call mIMGCOPY.sbRESIMKOPYALA(Me, "C:\A.BMP")
Call mIMGCOPY.sbRESIMKOPYALA(Me, , "c:\k.bmp")
Call mIMGCOPY.sbRESIMKOPYALA(Me, enmWKS)
End Sub

yazdım ancak iki açmazım var. resmi kopyalamıyor kesiyor yani kontrolden resmi kaldırıyor. (commandbuton transparent olduğu için griye dönüyor)
jpg olarak kaydetmek mümkün mü?
 
Zeki beyin önerdiği savepicture komutu ile bunu kolaylıkla yapabilirsiniz. Öyle uzun kodlara gerek yok.

Kod:
SavePicture Image1.Picture, "c:\deneme\frame.jpg"

Not: Sn Husgvarna'da aynı çözümü önermiş. Mesajımı örnek dosyayı incelemeden göndermiştim.
 
Hocam peki kırparak kaydetmek mümkün mü?
yani userform1.picture içindeki resmi sağdan 15 soldan 50 üstten 25 alttan 50 ölçek(artık width, heigt özelliğindeki ölçek ne ise olmadı pixel) kırparak kaydedecek.
 
Hocam peki kırparak kaydetmek mümkün mü?
yani userform1.picture içindeki resmi sağdan 15 soldan 50 üstten 25 alttan 50 ölçek(artık width, heigt özelliğindeki ölçek ne ise olmadı pixel) kırparak kaydedecek.


güncel
 
Geri
Üst