2009-06-10 10 views
14

Genel olarak,VBA Geçerli Kullanıcılar Uygulama veri klasörüne nasıl yollanır?

VBA'yı kullanarak, Geçerli Kullanıcı Uygulama Veri klasörünün nerede olduğunu nasıl belirlerim?

FileSystemObjects özel klasörler sadece yaklaşık 3 klasörleri

  • WindowsFolder bilir
  • SystemFolder
  • Özellikle TemporaryFolder

, ben altında bir klasöre dosya kopyalamak için bir Word Makro gerek Uygulama Verileri klasörü.

örn. VB.Net'de My.Computer.FileSystem.SpecialDirectories.CurrentUserApplicationData numarasını kullanabilmek için bunu kullanabilir miyim

cevap

26

Bu yolu almak için Environ("AppData") kullanabilirsiniz. Environ, DOS isteminde set komutunu kullanarak bulunan herhangi bir sistem değişkenini çekecektir. advapi32.dll kullanma

+0

'a bakmayın. Ortam dizelerini kontrol etmeyi asla düşünmedim, bu bir işlem yapar, teşekkürler :) –

+1

Bence çevresel değişkenler kullanıcı tarafından değiştirilebilir ve beklenmedik sonuçlara yol açabileceğinden Environ() yaklaşımının güvenilmez olduğunu düşünüyorum. Windows API'yı kullanmak daha iyi olabilir. Belgeler/Belgelerim klasörünü bulmak için bir örnek: http://dailydoseofexcel.com/archives/2009/02/26/get-the-path-to-my-documents-in-vba/#comment-38211 Eğer AppData klasörü için bunu yapmak için bir yol bulabilirsiniz daha iyi bir yol olabilir. – authentictech

7

, istediğini elde etmek için (bir standart vardır, belirli isim) "Application Data" dizinine ile USERPROFILE

aracılığıyla
Environ("USERPROFILE") 

bağlayın bu alabilirsiniz

CStr(Environ("USERPROFILE") & "\Application Data") 

Daha fazla bilgi için, MSDN

İlgili konular