投稿日 | : 2003/01/06(Mon) 19:38 |
投稿者 | : むろむろ |
Eメール | : |
URL | : |
タイトル | : 特殊フォルダのパス取得 |
初心者的なことだと思いますがお願いします。
当サイトの「特殊フォルダのパス取得」を参考に自分なりに変えてみました。
Private Sub Command1_Click()
MsgBox (fSpecialFolder)
End Sub
Private Function fSpecialFolder() As String
'特殊フォルダのパス名を取得
On Error Resume Next
Dim objWsh As Object
'オブジェクト変数 objWsh に Wscript.Shell への参照を設定します
Set objWsh = CreateObject("Wscript.Shell")
If Err Then
MsgBox "エラー(Wscript.Shellが使用できません?)"
Else
'特殊フォルダのパス名を取得
★1... fSpecialFolder = objWsh.SpecialFolders(Desktop)
★2... fSpecialFolder = objWsh.SpecialFolders(List1.List(List1.ListIndex))
End If
Set objWsh = Nothing
End Function
★2のようにフォームにリストを作成して、それの「Desktop」を選択して、実行すると
ちゃんと、ユーザー名のあとに「デスクトップ」が表示されるのですが、
★1のように直接「Desktop」を直接入力して、実行すると「AllUsers」のあとに
「デスクトップ」が表示されます。
結果的にやりたいことは、ユーザー名の後に「デスクトップ」を表示したいのですが、
いちいちフォームにリストを作りたくないのです。
どうしたらよいでしょうか?また、★1と★2では同じことをしている気がするのですが、
どこが違うのでしょうか?