toplu resim ekleme (var olan kodu güncelleme)

Katılım
7 Şubat 2024
Mesajlar
14
Excel Vers. ve Dili
Microsoft Office Professional Plus 2016
merhaba kolay gelsin. elimde bir adet vba kodu var. ben bu kodla world toplu halde resim yüklüyorum. kodun normal yükelemeden farklı resimler yüklenirken adlarla beraber geliyor. fakat adlar gelirken hem uzantı hemde dosya yoluyla bereber geliyor.

var olan:
E:\dsdsdsdsdsdd\sdsdsdsdds\ddsdsdssdds\abc.jpg

istenilen:
abc

ctrl+h basarak karakterileri değiştirebiliyorum fakat bu işlemi çok fazla tekrar ediyorum. kodu düzenleyi direk adıyla beraber gelmesini sağlaya bilirmiyiz.
-----------------------------------------------------------------------------------------------------
Sub PicWithCaption()
Dim xFileDialog As FileDialog
Dim xPath, xFile As Variant
On Error Resume Next
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
If xFileDialog.Show = -1 Then
xPath = xFileDialog.SelectedItems.Item(1)
If xPath <> "" Then
xFile = Dir(xPath & "\.")
Do While xFile <> ""
If UCase(Right(xFile, 3)) = "PNG" Or _
UCase(Right(xFile, 3)) = "TIF" Or _
UCase(Right(xFile, 3)) = "JPG" Or _
UCase(Right(xFile, 3)) = "GIF" Or _
UCase(Right(xFile, 3)) = "BMP" Then
With Selection
.InlineShapes.AddPicture xPath & "\" & xFile, False, True
.InsertAfter vbCrLf
.MoveDown wdLine
.Text = xPath & "\" & xFile & Chr(10)
.MoveDown wdLine
End With
End If
xFile = Dir()
Loop
End If
End If
End Sub
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,135
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki satırı daha aşağıdaki şekilde değiştirip deneyiniz.
Kod:
.Text = xPath & "\" & xFile & Chr(10)
Kod:
.Text = Left(xFile, InStrRev(xFile, ".") - 1) & Chr(10)
 
Katılım
7 Şubat 2024
Mesajlar
14
Excel Vers. ve Dili
Microsoft Office Professional Plus 2016
çok teşekkür ederim. çok güzel çalışıyor elinize sağlık. sizden bir ricada daha buluna bilir miyim.
 
Son düzenleme:
Katılım
7 Şubat 2024
Mesajlar
14
Excel Vers. ve Dili
Microsoft Office Professional Plus 2016
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,135
Excel Vers. ve Dili
2007 Türkçe
Tekrar merhaba,
Word makro kodlarına çok hakim değilim.
Umarım işinize yarar, aşağıdaki şekilde dener misiniz?
Kod:
Sub PicWithCaption()
Dim xFileDialog As FileDialog
Dim xPath, xFile As Variant
Dim rsm As Object
Dim gen As Double: gen = CentimetersToPoints(10)

On Error Resume Next
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
If xFileDialog.Show = -1 Then
    xPath = xFileDialog.SelectedItems.Item(1)
    If xPath <> "" Then
        xFile = Dir(xPath & "\.")
        Do While xFile <> ""
            If UCase(Right(xFile, 3)) = "PNG" Or _
                UCase(Right(xFile, 3)) = "TIF" Or _
                UCase(Right(xFile, 3)) = "JPG" Or _
                UCase(Right(xFile, 3)) = "GIF" Or _
                UCase(Right(xFile, 3)) = "BMP" Then

                With Selection
                    Set rsm = .InlineShapes.AddPicture(xPath & "\" & xFile, False, True)
                    rsm.LockAspectRatio = msoTrue
                    rsm.Width = gen
                    .InsertAfter vbCrLf
                    .MoveDown wdLine
                    .Text = Left(xFile, InStrRev(xFile, ".") - 1) & Chr(10)
                    .MoveDown wdLine
                    .InsertNewPage
                End With
            End If
            xFile = Dir()
        Loop
    End If
End If
End Sub
 
Son düzenleme:
Katılım
7 Şubat 2024
Mesajlar
14
Excel Vers. ve Dili
Microsoft Office Professional Plus 2016
güzel olmuş resimlerin boyutları değişmiş, elinize sağlık. Resimlerin sırası değişmiş ve tek sayfada 2 resim eklenmiş.
 
Katılım
7 Şubat 2024
Mesajlar
14
Excel Vers. ve Dili
Microsoft Office Professional Plus 2016
tek sayfada 1 adet resim "sayfadan taşmayacak şekilde" ve resimlerin sırası değişmeyecek
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,135
Excel Vers. ve Dili
2007 Türkçe
Yukarıdaki kodu her resim yeni sayfaya gelecek şekilde güncelledim, deneyiniz. Ancak resimlerin sırasının değişmesini anlamadım, kodunuzda bunla ilgili bir değişiklik yapmamıştım. Resimlerin genişliği ile ilgili de gen = CentimetersToPoints(10) ifadesindeki 10 sayısını isteğinize göre değiştirebilirsiniz.
 
Katılım
7 Şubat 2024
Mesajlar
14
Excel Vers. ve Dili
Microsoft Office Professional Plus 2016
şuan çok güzel oldu resim sonra 1 boşluk resim adı gelecek şekilde yapabilir miyiz? şuan adı kısa olursa ikisi aynı satırda yer alıyor
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,135
Excel Vers. ve Dili
2007 Türkçe
Bu haliyle yukarıdaki kodu kendi bilgisayarımda uyguladığımda isim ne kadar kısa olursa olsun resmin altında konumlanıyor. Araya satır ekleyince daha aşağı kayıyor. Belki bilgisayardan kaynaklı bir fark olabilir. Bu yüzden kodunuzda değişiklik yaptığım bölüme açıklamalar ekledim. İhtiyacınız olan değişikliği açıklamalara göre siz yaparsınız.
Kod:
                With Selection
                    Set rsm = .InlineShapes.AddPicture(XPath & "\" & xFile, False, True) 'Resim ekleme
                    rsm.LockAspectRatio = msoTrue 'Resmin En-boy oranını sabitleme
                    rsm.Width = gen 'resmin genişliğini değiştir
                    .InsertAfter vbCrLf 'Satır ekle
                    .MoveDown wdLine 'alt satıra geç
                    .Text = Left(xFile, InStrRev(xFile, ".") - 1) & Chr(10) 'Metin ekle
                    .MoveDown wdLine 'alt satıra geç
                    .InsertNewPage 'Yeni sayfa ekle
                End With
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,135
Excel Vers. ve Dili
2007 Türkçe
Rica ederim,
İyi çalışmalar diliyorum...
 
Üst