- PR -

FileDialogで マイコンピュータを初期表示にしたい

1
投稿者投稿内容
こてつ
会議室デビュー日: 2004/10/20
投稿数: 2
投稿日時: 2006-02-06 15:27
はじめて投稿させていただきます。

VB.net 2003 で開発をしているのですが
以下のことができなくて困っています。

■やりたいこと■
ファイル操作ダイアログを表示する際、
最初に表示されるディレクトリ?をマイコンピュータにしたい。

現在、ダイアログは標準で用意されている
System.Windows.Forms.OpenFileDialog や
System.Windows.Forms.SaveFileDialog を使用しています。

こんな使い方もしてみたのですが無駄でした。
(マイコンピュータはパスとして存在しないんですから、当たり前ですか・・。)
Dim f As New System.Windows.Forms.SaveFileDialog
f.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.MyComputer)

できれば、標準で用意されているものを使いたいですが
これ使えば実現できる!というのがありましたら
あわせて教えていただけると助かります。



[ メッセージ編集済み 編集者: こてつ 編集日時 2006-02-06 15:30 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-06 15:38
引用:

こてつさんの書き込み (2006-02-06 15:27) より:

ファイル操作ダイアログを表示する際、
最初に表示されるディレクトリ?をマイコンピュータにしたい。


望ましいかどうかは別として、こうでしょうね。

コード:

    Private Shared Sub MakiMakiLove()
        Dim ofd As OpenFileDialog

        Try
            ofd = New OpenFileDialog()

            ofd.InitialDirectory = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
            ofd.ShowDialog()
        Finally
            If Not ofd Is Nothing Then
                ofd.Dispose()
            End If
        End Try
    End Sub


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
こてつ
会議室デビュー日: 2004/10/20
投稿数: 2
投稿日時: 2006-02-06 15:56
じゃんぬねっとさん
ご回答、ありがとうございました。

さっそく試したところ、うまくいきました。
本当にたすかりました。

この"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"というのは・・・?
はじめて拝見しました。
これから調べて勉強したいと思います。

今後もなにかありましたら、宜しくお願い致します。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-06 16:09
引用:

こてつさんの書き込み (2006-02-06 15:56) より:

この"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"というのは・・・?
はじめて拝見しました。
これから調べて勉強したいと思います。


CLASS ID ですね。

System.Environment.GetFolderPath メソッドで SpecialFolder.MyComputer を指定した場合ですが、
仰るとおりサポートされていません。

  その他の特殊ディレクトリまでのパスを取得する

動的にこの CLASS ID を戻してくれる仕様にしてくれればいいのになぁなんて思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)