VBA Bilgisayar Kullanıcısına Göre Adres Yolu Tanımlama

Katılım
23 Aralık 2014
Mesajlar
15
Excel Vers. ve Dili
2013 Excel 15.0
Merhabalar,

Üzerinde çalıştığım bir ithalat/ihracat raporunda bilgilerin bulunduğu satırlara raporun kaynağını oluşturan Beyanname PDF'leri hyperlink ile bağladım. Daha açık olması aşağıda hyperlink örneğini paylaşıyorum

=HYPERLINK("C:\Users\ONDER\OneDrive XXX. A.Ş \Beyannameler\"&"İTHALAT"&"\"&"20"&LEFT(D228;2)&"\"&D228&".pdf";"Beyanname Softcopy")

Kurduğum sistem sorunsuz olarak çalışıyor fakat şöyle bir problemim var bu rapor onedrive ile oluşturulmuş ortak bir alanda ve raporu ben açtığım zaman hyperlink çalışıyor ve ilgili pdf ulaşıyor. Fakat onedrive'a erişimi olan başka biri raporu açsa bile hyperlinkteki pdf''e erişim sağlayamıyor çünkü erişim sağlamaya çalışan kullanıcının onedrive linki örnek olarak " =HYPERLINK("C:\Users\ONDER\" şeklinde değil =HYPERLINK("C:\Users\FARUK\ şeklinde. Amacım Hyperlink'i raporu açan kim olursa ilgili link'in kendine ismine göre güncellemesi (bu örnekte "FARUK"

Araştırmam sonucunda =INFO("DIRECTORY" şeklinde bir komut var. Bu komut kullanıcının bilgisarındaki documents dosyasına referans veriyor ("C:\Users\onder\Documents\" )

Yapmak istediğim şey ise VBA module olarak yeni bir konum tanımlatmak ve bu komutun sadece sadece ("C:\Users\"kullanıcı adı"\") olarak tanıması bu şekilde olursa raporu FARUK isimli kullanıcı çalıştırdığında bile pdf'e erişebilecek. Bu komutu nasıl yapabilirim fikir ve desteklerinizi bekliyorum.

Aşağıda daha önce internette bulduğum bir VBA'da komut tanımlamasını paylaşıyorum. Bu VBA office kullanıcısının ismini tanımlıyor fakat benim istediğim bilgisayar kullanıcısın ismini tanımlanması. Sanırsam API (Application Programmer’s Interface) fonksiyonu çağırmam lazım fakat beceremedim.


Function GetXLUserName() As String
GetXLUserName = Application.UserName

End Function
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
Application.UserName ofis uygulamaları yüklenirken tanımlanan (daha sonra değiştirilebilir) kullanıcı adıdır.
windows kullanıcı adı ise Environ("UserName") ile bir değişkene atanabilir.



Kod:
klasor = "C:\Users\" Environ("UserName") & "\Documents\"
 
Katılım
23 Aralık 2014
Mesajlar
15
Excel Vers. ve Dili
2013 Excel 15.0
Merhabalar,

Dediğiniz şekilde yaptım fakat modülü insert edip kapattıktan sonra yeniden açtığımda macro güvenlik uyarıları yüzüden kaydetmiyor ve yeniden açtığımız zaman tanımlanan komut modül silindiği için çalışmıyor bunu nasıl engelleyebilirim ?
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
xlsm olarak kaydediyorsunuz değil mi?
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
ayrıca makroların etkinleştirilmesi gerekiyor.
bildiğinizi sanıyorum.
forumda konusu var zaten.
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
şirket bilgisayarı ise ayrıca merkezi kısıtlama da getirilmiş olabilir.
 
Katılım
23 Aralık 2014
Mesajlar
15
Excel Vers. ve Dili
2013 Excel 15.0
Macro Enabled Excel formatında kaydetmem gerekiyormuş şuan sorun çözüldü.

Çok teşekkür ederim yardımlarınız için :)
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
rica ederim. kolay gelsin.
 
Katılım
21 Eylül 2005
Mesajlar
184
Excel Vers. ve Dili
ofis 365 İngilizce
Altın Üyelik Bitiş Tarihi
25-10-2024
Merhaba, MacOs için nasıl tanımlanabilir acaba?
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng

kaptırana :D kadar mac kullansam da makrolarına hakim değilim.
Buradaki kodda NameFolder = "desktop folder" değişkenini NameFolder = "users folder" yaparak deneyin diyebilirim sadece.
 
Katılım
21 Eylül 2005
Mesajlar
184
Excel Vers. ve Dili
ofis 365 İngilizce
Altın Üyelik Bitiş Tarihi
25-10-2024
Üst