デスクトップのフルパス名を取得したい。

解決


LEO77  2005-12-27 19:13:05  No: 129246

ログインしている人ごとにデスクトップのフルパス名を取得したいです。
例えばAさんがログインしているとすれば
「C:\Documents and Settings\A\デスクトップ」
となりますし、Bさんがログインしているとすれば
「C:\Documents and Settings\B\デスクトップ」
を取得したいのです。
プログラムはVBAでコーディングしていますのでよろしくお願いします。
ちなみにWindowsXP+Access2003+VBAです。


もげ  2005-12-27 19:54:04  No: 129247

Dim oShell As Object
Dim strDesktopDir As String

    Set oShell = CreateObject("WScript.Shell")
    strDesktopDir = oShell.SpecialFolders("DeskTop")
    Debug.Print strDesktopDir

とか。


LEO77  2005-12-27 20:05:21  No: 129248

もげさん、早速のご回答ありがとうございました。
試してみましたところ正しく取得できました。
大変助かりました。
そこでもうひとつ甘えさせていただきたいのですが
同じ処理をWin32APIを使用してはできないでしょうか?
ご存知でしたらよろしくお願いします。


Blue  2005-12-27 20:33:04  No: 129249

> 同じ処理をWin32APIを使用してはできないでしょうか?
SHGetSpecialFolderLocation
SHGetPathFromIDList
あたりのAPIを調べてみてください。


もげ  2005-12-27 20:33:14  No: 129250

http://www.bcap.co.jp/hanafusa/VBHLP/specialapi.htm
をどうぞ。


LEO77  2005-12-27 20:55:05  No: 129251

もげさん、Blueさん、ご回答ありがとうございました。
これで午後からの仕事が進められます。
大変助かりました。また何かありましたらよろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加