[VB.net 2003] ファイルダイアログでマイコンピュータをデフォルト表示する方法

このQ&Aのポイント
  • VB.netのWindowsアプリ開発で、「ファイルの保存ダイアログ」と「ファイルを開くダイアログ」でデフォルト表示をマイコンピュータにする方法を教えてください。
  • 現在使用しているダイアログコントロールは、System.Windows.Forms.SaveFileDialogとSystem.Windows.Forms.OpenFileDialogです。
  • マイコンピュータが実際のディレクトリではないため、パスが存在しないため困っています。フォルダを開くダイアログではFolderBrowserDialogを使用してRootFolderを設定することができますが、ファイルダイアログではどのように設定すればよいのでしょうか?
回答を見る
  • ベストアンサー

[VB.net 2003] FileDialogでデフォルト表示をマイコンピュータに

お世話になります。 VB.netでWindowsアプリの開発をしています。 要望で、「ファイルの保存ダイアログ」「ファイルを開くダイアログ」を開く箇所で、「マイコンピュータ」内をデフォルト表示してほしいといわれました。 #現在、使用しているダイアログのコントロールは以下のとおりです。  System.Windows.Forms.SaveFileDialog  System.Windows.Forms.OpenFileDialog ところが、マイコンピュータって実際のディレクトリじゃないので、パスが存在しませんよね? フォルダを開くダイアログでは Dim f As New FolderBrowserDialog f.RootFolder = System.Environment.SpecialFolder.MyComputer と、いうふうに設定できたんですが。。。 どなたか実現方法を教えていただけませんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • jmh
  • ベストアンサー率23% (71/304)
回答No.2

.InitialDirectory = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" は?

yurikoxxxx
質問者

お礼

jmhさんのやり方でやりましたら きちんとマイコンピュータが表示されました。 ご回答ありがとうございます。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

結論としてはできないと思います。 マイコンピュータには、ファイルは無いワケでその意味では、デフォルトの意味が無いですが、 次善の策としては、 当初 FolderBrowserDialog でマイコンピュータを表示してフォルダを選択させて そのフォルダを OpenFileDialog.InitialDirectory に設定するというのはどうでしょう

関連するQ&A

  • ファイルコピーの事で質問です。

    質問ですが、 'フォルダセット Dim fbd As New FolderBrowserDialog fbd.Description = "フォルダを指定して下さい。" fbd.RootFolder = Environment.SpecialFolder.Desktop fbd.SelectedPath = Environment.SpecialFolder.Desktop 'コピー System.IO.File.Copy(fbd.SelectedPath & "\test.pak", System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) & "\test.pak") フォルダを選択した後、 そのフォルダ内の「test.pak」をコピーして、 プログラムファイルを取得して、取得した先の場所に保存したいのですが、 これをデバッグすると、怒られてしまいます。 "(C:\Program File\test.pak) の一部が見つかりませんでした" という怒られ内容です。 ドコモ間違ってないのに、この様なエラーが出てしまうのですが 何処が悪いのでしょうか?どの様な改善をすれば良いでしょうか?

  • フォルダ設定について知りたいです。

    いきなりですが例です。 例(1): 'SaveFileDialogクラスのインスタンスを作成 Dim sfd As New SaveFileDialog() sfd.FileName = "新しいファイル.html" sfd.InitialDirectory = "C:\" sfd.Filter = _ "HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル(*.*)|*.*" sfd.FilterIndex = 2 'タイトルを設定する sfd.Title = "保存先のファイルを選択してください" sfd.RestoreDirectory = True sfd.OverwritePrompt = True sfd.CheckPathExists = True 'ダイアログを表示する If sfd.ShowDialog() = DialogResult.OK Then 'Copy System.IO.File.Copy("C:\test.txt", (sfd.Namefile), True) End If という具合に「名前を付けて保存」で指定先をコピーする様には 出来るんですが、これがフォルダの場合・・ 例2: 'FolderBrowserDialogクラスのインスタンスを作成 Dim fbd As New FolderBrowserDialog '上部に表示する説明テキストを指定する fbd.Description = "フォルダを指定してください。" 'ルートフォルダを指定する 'デフォルトでDesktop fbd.RootFolder = Environment.SpecialFolder.Desktop '最初に選択するフォルダを指定する 'RootFolder以下にあるフォルダである必要がある fbd.SelectedPath = "C:\Windows" 'ユーザーが新しいフォルダを作成できるようにする 'デフォルトでTrue fbd.ShowNewFolderButton = True 'ダイアログを表示する If fbd.ShowDialog(Me) = DialogResult.OK Then '選択されたフォルダを表示する System.IO.File.Copy("C:\test.txt", ???????, True) End If 上記の??????が分りません。 指定したフォルダ内にあるファイルを操作したいのですが、 (fbd.SelectedPath),"test.txt"でも怒られます。 どの様にしてソースを書けば良いでしょうか? ※回答はソースコードを必ず書き込んでください。

  • ASP .NETでファイル選択ダイアログ

    タイトルの通りなのですが、ASP .NETでウインドウズのファイル選択ダイアログをだす方法を探しています。 画面のソースで <%@ import Namespace="System.Windows.Forms.OpenFileDialog" %> としてインポートしてるつもりなのですが、 Compiler Error Message: BC30002: Type 'OpenFileDialog' is not defined. Line 19: Dim ofd As New OpenFileDialog() というエラーになってしまいます。 dllが無いということでしょうか?

  • VB ファイルの検索について

    VB ファイルの検索について こんにちは VB2008でファイルの種類を指定して、検索するプログラムを作っています。 要求: 1ボタンをクリックして、検索対象のフォルダを指定 2事前に決めたファイル種類(*.txt)を検索する 3(*.txt)がある場合はディスクトップにコピーする 今は1ができましたが、2と3について、どうやって書くのかわからないです。 --------------------ソース------------ Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim SourcePath As String Dim fdb As New FolderBrowserDialog With fdb 'Select to Folder and open it .Description = "Please Select Folder" .RootFolder = System.Environment.SpecialFolder.MyComputer SourcePath = TextBox1.Text .SelectedPath = SourcePath If fdb.ShowDialog() = DialogResult.OK Then TextBox1.Text = fdb.SelectedPath End If End With End Sub End Class ------------------------------------------------------- 以上  宜しくお願い致します。(^@^)

  • VB.NRT FolderBrowserDialogを使用して、選択したフォルダ内のファイルを表示させるには?

    VB.NET初心者です。 ネットで調べてFolderBrowserDialogを使用して、フォルダを表示させ、フォルダのパスを取得するところまではできたのですが、フォルダの中のファイルを表示させるには、どうしたらよいのでしょうか? OpenFileDialogクラスを使えば、ファイルは表示できるようですが、ファイルの入っているフォルダのパスだけ取ってきたい(複数ファイルを一度に読みこむため)のですが、何か良い手はありませんでしょうか? また、FolderBrowserDialog使用で前回選択したフォルダを次にダイアログを開いたときにも表示させることは可能でしょうか? よろしくお願いいたします。 Dim fbd As FolderBrowserDialog = New FolderBrowserDialog() fbd.Description = "フォルダを指定してください。" If fbd.ShowDialog() = DialogResult.OK Then Console.WriteLine(fbd.SelectedPath) End If Dim folder As String = fbd.SelectedPath Dim serchpattern As String = "*.txt" Dim files As New ArrayList 'フォルダ名格納 Get_FPath(folder, serchpattern, files) End Sub

  • VC++:ダイアログがDispose()できない

    前略 ・.NET 2012のVC++を使っています。 ファイルをオープンするプログラムをつくろうとしています。その過程でダイアログをオープンするプログラムをネットにあったC#のコードを参考に、openFileDialog1->Dispose();をコメントアウトした以下に示すものをつくりました。このコードは特に問題なくコンパイルできて動作します。  しかし、C#のコードにあった openFileDialog1.Dispose();から変更したopenFileDialog1->Dispose();を追加すると "error C2039: 'Dispose' : 'System::Windows::Forms::OpenFileDialog' のメンバーではありません。"と云うエラーメッセージがでてコンパイルできません。 <質問>  VC++の場合 C#のopenFileDialog1.Dispose();に相当するオブジェクト破棄のコードは不要なのでしょうか?  もし、破棄が必要なのであればどのようなコードを書けばよいのでしょうか?  どなたかお分かりになる方、ご教示いただければ幸いです。 以上、よろしくお願いします。 //------------------------------------------------------- private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog();//new OpenFileDialog(); openFileDialog1->Title = "ダイアログのタイトルをココに書く"; openFileDialog1->InitialDirectory = "c:\\"; openFileDialog1->FileName = "初期表示するファイル名をココに書く"; if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK) MessageBox::Show(openFileDialog1->FileName); // 不要になった時点で破棄する (正しくは オブジェクトの破棄を保証する を参照) // openFileDialog1->Dispose(); };

  • C#)フォルダを参照したい

    こんにちわ。 フォルダを参照してその中身をリストBOXに表示したいのですが、サンプルを見つけて実行したのですがいまいち理解できなかったのでアドバイスくださると助かります。 private void button1_Click(object sender, System.EventArgs e) { string systemFolder = Environment.GetFolderPath    (Environment.SpecialFolder.System); DirectoryInfo di = new DirectoryInfo(systemFolder); foreach(FileInfo fi in di.GetFiles()) { listBox1.Items.Add(fi.Name); } } これでボタン1をクリックするとsystemフォルダの内容がリストに表示されるのですが、そもそもどこのsystemフォルダなのか分かりません・・・。 ↑のプログラムが分からず別の方法でまずフォルダ参照ダイアログの FolderBrowserDialog を使おうと思ったのですが、ツールBOXに無いのでまた困りました。 どなたか分かる方いたらご指摘お願いします。

  • C# OpenFileDialogの制御方法

    こんにちは。 OpenFileDialogを利用し、ユーザーにファイルを選択させたいと思っています。そこまでは問題なくできるのですが、ユーザーにファイル選択のみさせたいと思っています。 OpenFileDialog上でファイルを作成できたり、特にファイルを誤って削除できないようにさせたいと思っています。 下記のURLは見たのですが、実現するプロパティが無いように思えます。 https://msdn.microsoft.com/ja-jp/library/system.windows.forms.openfiledialog%28v=vs.110%29.aspx 何か実現させる方法はあるでしょうか?よろしくお願いします。

  • 複数画像表示切り替え Visual c++

    Visual Studio C++ を用いて、複数選択した画像をPictureBoxに順に表示させて、一定時間間隔で、表示される画像が切り替わるようなプログラムを作りたいと考えています。 現在のところ、ファイル選択ダイアログで表示させたい画像を複数選択し、OpenFileDialogのFileNamesにファイル名を配列の形で格納します。 ここからが問題なのですが、それらのファイル名を順に呼び出して、PictureBoxに表示させて、Sleep()で任意の時間待って、また次の画像ファイルを呼び出して・・・というふうにしたのですが、実行させてみると、最後に選択された画像ファイルのみが表示されて終わってしまいます。 複数選択した画像ファイルを一定時間間隔で切り替えるには、もっと特別なことを考えないといけないのでしょうか。具体的な考え方、コーディングの仕方を教えていただけると幸いです。 以下に、ソースコードを示します。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・省略 // //button1 // private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { openFileDialog1 = gcnew OpenFileDialog(); openFileDialog1->Multiselect = true; if(openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK){ array<String^> ^filename = gcnew array<String^>(openFileDialog1->FileNames->Length); for(int i=0; i<openFileDialog1->FileNames->Length; i++){ filename[i] = openFileDialog1->FileNames[i]; } } } // //button2 // private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { Bitmap^ bmp; for(int i=0; i<openFileDialog1->FileNames->Length; i++){ bmp = gcnew Bitmap(openFileDialog1->FileNames[i]); pictureBox1->Image = bmp; Sleep(100); } }

  • ファイルダイアログのカレントフォルダ

    vb.netのOpenFileDialogでダイアログを開いたとき、最初はマイドキュメントが表示されますが 違うフォルダからファイルを選ぶと、次にダイアログを開いたときはそのフォルダ(カレントフォルダ?)がまず表示されます。 その情報はどこに保存されてるのですか? 同じパソコンでプログラムをコピーして交互に動かしてもカレントフォルダはその度に変わってるようです。 別のパソコンにプログラムをコピーしたら(最初だけは)マイドキュメントからになるんですか? もう1つ質問で RestoreDirectoryプロパティにtrueを設定してもカレントフォルダは変わるようなのですが なぜでしょう? 試しに作ったコードは↓です。 環境はvb2005、XP-sp3です。 -------------------- Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' OpenFileDialog の新しいインスタンスを生成する (デザイナから追加している場合は必要ない) Dim OpenFileDialog1 As New OpenFileDialog() ' ダイアログボックスを閉じる前に現在のディレクトリを復元する (初期値 False) OpenFileDialog1.RestoreDirectory = False ' ダイアログを表示し、戻り値が [OK] の場合は、選択したファイルを表示する If OpenFileDialog1.ShowDialog() = DialogResult.OK Then MessageBox.Show(OpenFileDialog1.FileName) End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' OpenFileDialog の新しいインスタンスを生成する (デザイナから追加している場合は必要ない) Dim OpenFileDialog2 As New OpenFileDialog() ' ダイアログボックスを閉じる前に現在のディレクトリを復元する (初期値 False) OpenFileDialog2.RestoreDirectory = True ' ダイアログを表示し、戻り値が [OK] の場合は、選択したファイルを表示する If OpenFileDialog2.ShowDialog() = DialogResult.OK Then MessageBox.Show(OpenFileDialog2.FileName) End If End Sub End Class --------------------

専門家に質問してみよう