- Katılım
- 2 Mart 2005
- Mesajlar
- 2,960
- Excel Vers. ve Dili
-
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Bir arkadaşımızın sorusu üzerine, ferhat hocamında yardımıyla hazırladığım kodları fonksiyon haline getirdim ancak
G5 hücresine aşağıdaki formülü girdiğimizde L5 hücresinde yolu yazan resmi H5 açıklama ekliyor ve dolgu olarak kullanıyor.
1)
ancak Hücreyle baraber taşı ve yeniden boyutlandır özelliğini kullanmıyor.
2)
şeklinde kullandığımızda ise yazıcı çıktısında açıklama gözükmesin diyoruz. ama onuda kullandırtmıyor
Ama Başka bir prosodürden çağırınca sorun yok nasıl aşabilirim.
G5 hücresine aşağıdaki formülü girdiğimizde L5 hücresinde yolu yazan resmi H5 açıklama ekliyor ve dolgu olarak kullanıyor.
1)
Kod:
=Dolgu_Resim(H5;L5)
2)
Kod:
=Dolgu_Resim(H5;L5;0)
Kod:
Function Dolgu_Resim(Hucre As Range, Dosya As String, Optional Yaz As Boolean = True)
Set Fso = CreateObject("Scripting.FileSystemObject") 'Dosya kontorol objesine değer ata
If Fso.FileExists(Dosya) = False Then Dosya = "" 'belirtilen klasörde hedef ile eşleşne resim yok ise yok gifi alınır.
Hucre.ClearComments
Dim oAck As Comment
If Dosya <> "" Then
Set oAck = Hucre.AddComment
With oAck
.Text Text:=" "
With .Shape
.Left = Hucre.Left
.Top = Hucre.Top
.Width = Hucre.Width
.Height = Hucre.Height
[COLOR=red] .Placement = xlMoveAndSize (1)[/COLOR]
' .PrintObject = True
.Fill.UserPicture (Dosya)
End With
.Visible = True
End With
[COLOR=red] If Yaz = False Then '(2)[/COLOR]
[COLOR=red] Hucre.Comment.Shape.Select False[/COLOR]
[COLOR=red] With Selection[/COLOR]
[COLOR=red] .PrintObject = False[/COLOR]
[COLOR=red] End With[/COLOR]
[COLOR=red] Hucre.Select[/COLOR]
[COLOR=red] End If[/COLOR]
Dolgu_Resim = Hucre.Address & " Hücresine eklendi."
Else
Dolgu_Resim = "Dosya Bulunamadı"
End If
Set oAck = Nothing
Hucre.Select
End Function
Ama Başka bir prosodürden çağırınca sorun yok nasıl aşabilirim.
Kod:
Sub Dol_Res()
Dim Dosya As String
dsYol = ThisWorkbook.Path 'Burada dosyanın bulunduğu klasör yer alır
dsAd = "s07906.gif"
dsAd = "s06060.gif"
Dosya = ThisWorkbook.Path & Application.PathSeparator & dsAd
Dim Hucre As Range
Set Hucre = Range("g6")
Hucre.Value = Dolgu_Resim(Hucre, Dosya, False)
Set Hucre = Nothing
End Sub