VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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では同じことをしている気がするのですが、
どこが違うのでしょうか?


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -