Kendi Yaptığımız Menülerde Face Olarak İcon Kullanmak veya Boş Face Düzenlemek

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Arkadaşlar bilindiği üzere kendi yaptığımız menülerde Excelin FaceID leri ile simge çağırabiliyoruz.
Kod:
    With cbpDZN                     '*DÜZEN menüsüne ekleme yap
    '***Düzen Menüsüne Komut Ekle
        Sirnok2 = .Controls.Count
        For i = 1 To Sirnok2                               'kapat Komutunun Sıra Numarasını
            If .Controls(i).ID = 22 Then sirno2 = i       'öğren, değişkene ata
            If .Controls(i).ID = 847 Then sirno3 = i
        Next
        
        With .Controls.Add(msoControlButton, , , sirno2 + 1) 'bir sonrasına kendi komutumuzu yerleştirdik....
            .Caption = "&Degerleri yapistir..."
            .OnAction = "Degerleri_Yapistir"
            [B][COLOR = "RED"]
            .FaceId = 662             [/B][/COLOR]

            .Tag = "HsrXLA02"
        End With
        
        With .Controls.Add(msoControlButton, , , sirno3 + 2)
            .Caption = "Diğer Sayfaları Sil"
            .OnAction = "DigerSayfalarıSil"
            [B][COLOR = "RED"]
.FaceId = 1964 [/COLOR][/B]            .Tag = "HsrXLA03"
        End With
    End With                        '*DÜZEN menüsüne ekleme bitti
buralarda dosya yolu kullanarak kendi yaptığımız iconu kullabilmek mümkünmüdür?

veya boş olan faceID ye dosya yolundan icon yapıştırmak yada
boş faceID yi makro ile düzenlemek

mesala bende 4817 nolu olan boş, ona 2498 nolu faci yapıştırıp yeni oluşan 4817 yi düzenle desek ve sol altttan üç kare gel Üste doğru 10 kare kırmızı çubuk çek gibi bir şey.
 
Son düzenleme:

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Ekli dosyaya bir göz atın....

Excel'in menülerinin en sonunda, "Yardım" menüsünün hemen yanına bir menü ilave edilecek. Bu menüyü tıklayın, altındaki "Hakkında" menüsünün "Face" i sizin istediğiniz gibi birşey.


.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Evet Hocam İstediğim bu...
a userfomunun 1 nolu imagesinden al deme şansımız varmı peki. ben deneyecemde şimdi sizede sorayım dedim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
userformdan almayı beceremedim hocam
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Sağlık olsun, sayfa üzerinden alın ....
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
öyle yaptım hocam xla olduğu için sayfa da işlem yapmak istemedim ama dediğiniz gibi önemli olan netice... boş boş duracağına bir işe yarasın bari.

Emekleriniz için teşekkür ederim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Sn haluk hocam xla belgemde kodları aşağıdaki gibi düzenledim...

Kod:
        With .Controls.Add(msoControlButton, , , sirnoDegYap + 1) 'bir sonrasına kendi komutumuzu yerleştirdik....
            .Caption = "&Excelden Worde Yapıştır..."
            .OnAction = "Worde_Yapistir"
             ThisWorkbook.Sheets(1).Shapes("icoWordGonder").Copy
            .PasteFace: CutCopyMode = False
            .Tag = "HsrXLA02B"
        End With
Ancak açılan yeni belgemde yapıştır aktif halde geliyor ve Son icon sayfaya yapışıyor.

Ne yapmam lazım?

görüldüğü üzere cutcopymodu kapattım ama işe yaramadı.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Güncel yardım edebilirseniz sevinirim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Güncel yardım edebilirseniz sevinirim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Güncel yardım edebilirseniz sevinirim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Günaydın
Güncel yardım edebilirseniz sevinirim.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bunu bir deneyin ...

Kod:
        Dim myClipboard As New DataObject
        myClipboard.SetText Empty
        myClipboard.PutInClipboard
        Set myClipboard = Nothing
Referanslardan Microsoft Forms 2.0 Object Library seçili olmalıdır....
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
teşekkür ederim hocam peki bu kolar nerteyew yazacağız

.PasteFace altınamıo üstünemi
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tabii ki, altına ....
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Sn hocam şimdide şöyle bir sorun çıktı
1) önce exceli açtığımda yapıştır komutunun pasif olması gerekir ken aktif, ama içi boş pasif olsun.
kapatıp başka bir şey denedim
2) önce internet explorerda bir metin aralığı kopyaladım
ardından exceli açtım yapıştır aktif ancak kopyaladığım metin yok ortada
şöyle bir şey olabilirmi
eğer Clipboard da veri, resim varsa (excel açılmadan evvel herhengi bişr yerde kopyalama yapılmışsa) bunu bir değişkene almak ve iconları menülere verdiktikten sonra clipboarrda ilk baştaki kopyayı geri vermek ve excel uygulamasından yapıştıra basınca sorun olmaması

eğer Clipboard da veri, resim yoksa (excel açılmadan evvel herhengi bir yerde kopyalama yapılmamışsa) iconları menülere verdiktikten sonra clipboardı boşaltmak ve excel uygulamasında yapıştır komutunun pasif olması

mümkünmüdür.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Güncel yardım edebilirseniz sevinirim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Güncel yardım edebilirseniz sevinirim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Sn hocam şimdide şöyle bir sorun çıktı
1) önce exceli açtığımda yapıştır komutunun pasif olması gerekir ken aktif, ama içi boş pasif olsun.
kapatıp başka bir şey denedim
2) önce internet explorerda bir metin aralığı kopyaladım
ardından exceli açtım yapıştır aktif ancak kopyaladığım metin yok ortada
şöyle bir şey olabilirmi
eğer Clipboard da veri, resim varsa (excel açılmadan evvel herhengi bişr yerde kopyalama yapılmışsa) bunu bir değişkene almak ve iconları menülere verdiktikten sonra clipboarrda ilk baştaki kopyayı geri vermek ve excel uygulamasından yapıştıra basınca sorun olmaması

eğer Clipboard da veri, resim yoksa (excel açılmadan evvel herhengi bir yerde kopyalama yapılmamışsa) iconları menülere verdiktikten sonra clipboardı boşaltmak ve excel uygulamasında yapıştır komutunun pasif olması

mümkünmüdür.
Güncel yardım edebilirseniz sevinirim.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Güncel yardım edebilirseniz sevinirim.
 
Katılım
27 Temmuz 2004
Mesajlar
719
Excel Vers. ve Dili
Excel 2003 Tr
Aşağıdaki kodları deneyerek yapmaya çalıştım ancak dataobj tekrar clipboarda almak istediğim son satırda hata veriyor. Excel sayfasına bir resim yapıştırıp onu kopyalayıp denediğimde çalışıyor ancak diğer durumlarda çalışmıyor. İlgilenen arkadaşlara fikir vermesi açısından ekliyorum kodları. Bir diğer yöntemde MoveMemory Api sini kullanarak yapılabilir gibi geliyor ancak onda da henüz muvaffak olabilmiş değilim. Bakalım biraz daha çalışalım üzerinde :)
Kod:
Option Explicit
Private Declare Function IsClipboardFormatAvailable Lib "user32" (ByVal uFormat As Long) As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal Hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
'.....Clipboard daki verilerin türleri..........
Private Const vbCFText = 1          ' Plain Text
Private Const vbCFBitmap = 2            ' Bitmap
Private Const vbCFMetafile = 3          ' Metafile Picture Format
Private Const vbCFDIB = 8           ' Device Independent Bitmap FOrmat
Private Const vbCFPalette = 9           ' Color Palette
Private Const vbCFEMetafile = 14        ' Enhanced Metafile Format
Private Const vbCFFiles = 15            ' Files
Private Const vbCFLink = -16640 '(&HFFFFBF00)    ' Link
Private Const vbCFRTF = -16639 '(&HFFFFBF01) ' Rich Text Format
Sub Get_Data_From_Clipboard()
    Dim DataObj As New MSForms.DataObject
    Dim a As Variant
    Dim i As Integer
    Dim onay As Boolean
    a = Array(1, 2, 3, 8, 9, 14, 15, -16640, -16639)
 
    DataObj.GetFromClipboard
 
    For i = 0 To UBound(a)
    If IsClipboardFormatAvailable(a(i)) Then 'Clipboarddaki verinin türünü belirler
        onay = True
        'MsgBox a(i)
        Exit For
    End If
    Next
    If onay Then
        ClearClipboard
    End If
 
    'İşlemler
 
    ClearClipboard
 
    DataObj.PutInClipboard
End Sub
 
Üst