Kısa yol oluşturmak konusunda yardım..

Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
İyi akşamlar,
Sayfa1 de A1&B1 hücrelerindeki verileri dosya adı olarak alıp D içindeki X klasörü içine kaydettiğim dosyaya otomatik olarak kısa yol oluşturmak için hazırladığım aşağıdaki makro istenilen isimle kısa yol oluşturmasına rağmen, oluşturulan kısa yol dosyayı bulamıyor.. Kodlarda nasıl bir değişiklik veya ilave yapmak gerektiği konusunda yardıma ihtiyacım var.. Yardımcı olabilecek arkadaşlara teşekkür ederim..

Sub KISAYOL_OLUŞTUR()

Dim Wsh As Object, Desktop As String, CShortcut As Object
Set Wsh = CreateObject("WSCRIPT.Shell")
With Wsh
Desktop = .SpecialFolders("Desktop") & "\"
Set CShortcut = .CreateShortcut(Desktop & ([Sayfa1!a1] & [Sayfa1!b1]) & ".lnk")

With CShortcut
.TargetPath = "D:\X\([Sayfa1!a1] & [Sayfa1!b1]).xls"
.WindowStyle = 1
.Save
End With

End With

End Sub
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,286
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Merhaba, aşağıdaki deneyin.
Kod:
.TargetPath = "D:\X\" & Sayfa1.[a1] & "\" & Sayfa1.[b1] & ".xls"
 
Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Sayın Zeki Gürsoy , ilginize teşekkür ederim, ancak kısa yol oluşturmasına rağmen maalesef dosyayı bulmuyor.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,286
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
a1 ve b1 içeriğini ne olarak kullanıyorsunuz? a1 i alt klasör olarak tahmin ettim ama tutmadı galiba.. :)
 
Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Sevgili Zeki Gürsoy Merhaba, Bir örnek dosya ekledim, sanırım daha açıklayıcı olur.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,286
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Şu an sorun yok. Dosyayı farklı kaydetmek yerine, bir kopyasını kaydedip aktif dosyanın dizininin korunmasını tavsiye ediyorum.
Kod:
Sub KISAYOL_OLUŞTUR()
Dim Wsh As Object, Desktop As String, CShortcut As Object

On Error Resume Next
MkDir "d:\X\"
On Error GoTo 0
ActiveWorkbook.[B]SaveCopyAs[/B] "D:\X\" & [Sayfa1!a1] & [Sayfa1!b1] & [B]".xls"[/B]

Set Wsh = CreateObject("WSCRIPT.Shell")

With Wsh
Desktop = .SpecialFolders("Desktop") & "\"
Set CShortcut = .CreateShortcut(Desktop & ([Sayfa1!a1] & [Sayfa1!b1]) & ".lnk")

With CShortcut
.TargetPath = "D:\X\" & [Sayfa1!a1] & [Sayfa1!b1] & ".xls"
.WindowStyle = 1
.Save
End With

End With

End Sub
 
Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Değerli Zeki Gürsoy, tekrar merhaba,
Cevabın gecikmesi için özür dilerim, kısa bir yolculuk gerekiyordu, ancak bu sabah dönebildim. Çözüm öneriniz ve çözümünüz için teşekkür ederim.Gösterdiğiniz yolla sorun çözüldü sanıyorum..İyi çalışmalar..
 
Üst