• ベストアンサー

フォルダ選択のダイアログボックスについて

おはようございます。 現在、VB.NETでフォルダ選択のダイアログを表示させたいと 思っているのですが以下の記述だとダイアログは表示されますが 選択したフォルダのパスを取得する方法がわかりませんでした。 この後にどんな記述をすれば取得できるのでしょうか? 宜しくお願いします。 Dim f As New BrowseFolder() Console.WriteLine(f.BrowseDialog("出力先フォルダを指定してください。", Me))

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

  • ベストアンサー
  • unamana19
  • ベストアンサー率62% (56/89)
回答No.1

Dim fbd As New System.Windows.Forms.FolderBrowserDialog If fbd.ShowDialog = Windows.Forms.DialogResult.OK Then   Debug.WriteLine(fbd.SelectedPath) End If こういう事かな。

参考URL:
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.folderbrowserdialog(VS.80).aspx
morimori7
質問者

補足

すいません。Framework1.0なので FolderBrowserDialogが使用できませんでした。

関連するQ&A

  • 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

  • VBで選択したフォルダにフォルダをコピーしたい

    VBで、選択したフォルダに、中身の入ったフォルダを上書きしてコピーするプログラムを作りたいと思い、フォルダを選択し、選択したフォルダをラベルに表示させるというところまではできました。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim fbd As New FolderBrowserDialog fbd.Description = "フォルダを指定してください。" fbd.RootFolder = Environment.SpecialFolder.Desktop fbd.SelectedPath = "C:\Windows" fbd.ShowNewFolderButton = True If fbd.ShowDialog(Me) = DialogResult.OK Then Console.WriteLine(fbd.SelectedPath) Label3.Text = fbd.SelectedPath End If End Sub ですが、ここから試行錯誤を繰り返してみるも、FolderBrowserDialogで選択したフォルダにフォルダを上書きすることができないのです。アドバイスよろしくお願いします。

  • ファイルとフォルダのどちらも選択できるダイアログ

    環境  OS:Win2000及びWinXP  バージョン:VB6.0 SP5 ファイルとフォルダのどちらも選択できるダイアログを使用する為のAPIを探しています。 詳しく言うと、Windowsのエクスプローラ上で右クリックから新規のショートカットを作成した際の、 ウィザードにて参照ボタンを押下した際に表示される使用されているダイアログのようなものです。 フォルダまたはファイルだけのダイアログをAPIにて表示できる方法は調べて分かったのですが、 フォルダとファイルをどちらでも選択できるダイアログが見つかりませんでした。 逆にフォルダまたはファイルだけのダイアログのAPIのオプションの違いなのでしょうか? ヒント・キーワード・参考サイトだけでも良いので、 よろしくお願いします。

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

    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 --------------------

  • (C#)フォルダを指定するダイアログの中身が表示されない

    只今フォルダを参照してそこにファイルを保存するプログラムを作っているのですが フォルダを参照するダイアログの中身が表示されなくて困っています... プログラムの中身はこちら↓ ================================= FolderBrowserDialog fd = new FolderBrowserDialog(); if (fd.ShowDialog() == DialogResult.OK){ Console.WriteLine(fd.SelectedPath); } ================================= 調べてみたのですが、同じような方は見つけても 何をどうしたら解決した、というところまで書かれておらず どうしたらちゃんと表示されるのかわかりませんでした。 プログラミング初心者ですので、見落としている箇所など 原因として考えられるものが見つけられません 何か足りないのでしょうか? わかる方がいましたらお願いします。

  • ダイアログボックスからフォルダ名を取得し、フォルダ内のCSVファイルを

    ダイアログボックスからフォルダ名を取得し、フォルダ内のCSVファイルをすべてアクセスのテーブルにインポート使用と思っています。 ところがCSVファイルの数の分だけ、1つめのCSVファイルの中身が繰り返しインポートされてしまっています。 どの部分に誤りがあるのでしょうか? お知恵を拝借できますでしょうか・・・。 コードは以下になります。 Private Sub cmd06_Click() Dim MyFile As String Dim MyName As String Dim MyName02 As String Dim strFolderName As String strFolderName = GetFolderName() 'フォルダ選択ダイアログを表示 If Len(strFolderName) > 0 Then '選択結果を評価 MyFile = strFolderName & "\*.csv" '【拡張子csvのファイルのみ取得】 MyName = Dir(MyFile, vbNormal) MyName02 = "\" & MyName Do While MyName <> "" If MyName <> "." And MyName <> ".." Then If GetAttr(strFolderName & "\" & MyName) <> vbDirectory Then DoCmd.TransferText acImportFixed, "T03_インポート定義", "T03_全CSVデータ", strFolderName & MyName02, False, "" '【取得したファイルをインポート】 End If End If MyName = Dir Loop Else MsgBox "フォルダは選択されませんでした" End If MsgBox "データのインポートが終了しました" End Sub

  • 言語[C#]..フォルダ選択ダイアログで、フォルダ選択のための階層が表示されない

    C#を使い、フォルダ選択のダイアログを表示させたいと思っています。WEB上に公開されていた下記コードを使い、フォルダ選択のダイアログを表示できました。 ただ、ダイアログが表示されたのはよいのですが、ダイアログ内に表示されるはずの、フォルダ選択のための階層部分が表示されません。この現象についてご存知の方、助言を頂きたくお願い致します。 また、C#は一昨日から使い初めたばかりです。初歩的なミスであった時は、どうぞお許し下さい。 フォルダ選択ダイアログの表示コード ------------------------------------------------ FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.Description = "読み込むフォルダを指定してください" ; if (fbd.ShowDialog() == DialogResult.OK) { txtInputFolder.Text = fbd.SelectedPath ; } ------------------------------------------------

  • リストボックスにファイル名のみを表示するには?

    いつもお世話になっています。 今、VisualStudio.NETのVB.NETを使用して勉強しているものです。 現在、特定のフォルダからその中に入っているファイルを リストボックスに表示させたいと思っています。 フルパスを表示させることはできたのですが、ファイル名のみの表示がうまくいきません。 どなたか教えていただけないでしょうか。 以下のようにコードを書いております。 一度、TextBox1にフォルダのパスをコピーする仕組みになっています。 GetFileName関数を使用すればいいのかもしれませんが、 うまく組み合わせることができません。 どうぞよろしくお願いいたします。 Private Sub GetAllFiles(ByVal folder As String, _ ByVal searchPattern As String, ByRef files As ArrayList) 'folderにあるファイルを取得する Dim fs As String() = _ System.IO.Directory.GetFiles(Me.TextBox1.Text, searchPattern) 'ArrayListに追加する files.AddRange(fs) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim subFolders As New ArrayList() Dim files As New ArrayList() 'TextBox1以下のファイルをすべて取得 GetAllFiles(Me.TextBox1.Text, "*.*", files) 'ListBox1に結果を表示する Me.ListBox1.Items.Clear() Me.ListBox1.Items.AddRange(files.ToArray()) End Sub

  • firefox  file選択ダイアログ

    firefox  file選択ダイアログ file選択ダイアログで選択ファイルのpathを取得したいです。 教えてください、宜しくお願いいたします。 ・<input type=file>では、fileの名前のみでpathが取得できません。 ・function openDialog() { dir = FileSelectDialog(); alert( dir ); } IEではダイアログが表示されますが、firefoxでは表示されません。

    • ベストアンサー
    • HTML
  • フォルダ参照ではなくファイルを指定したい。

    フォルダの参照ダイアログボックスを使用して ファイルを選択できるようにしています。 プログラムでcsv形式で保存し、そのcsv形式ファイルを指定して開くという動作を目的としています。 そのファイル選択を固定でなく可変で選択したいと思っています。 Dim ShellApp As Object Dim oFolder As Object Set ShellApp = CreateObject("Shell.Application") Set oFolder = ShellApp.BrowseForFolder(0, "ファイル選択", &H4000,"C:\test") msgbox(oFolder) このような感じで、フォルダのみではなくファイルを指定することに成功しました。 しかし、このフォルダ参照ダイアログが表示されたときに、何も選択せずに キャンセルボタンをクリックするとエラーが出て止まってしまいます。 目的とする動作はできてはいるのですが、キャンセルするとエラーになるので、この原因がわからず困っています。 キャンセルボタンに関することを記述する必要があるのでしょうか? また、この他にファイルを指定するのに適した方法がありましたら教えてください。 参照するフォルダを指定しているのでパスの取得は必要ありません。 ファイルが選択できたらOKです。 フォルダのパス取得のプログラムはよくサンプルを見かけるのですが、 ファイル選択のサンプルはあまり見かけないです(-_-;) また、この方法ではC:\と絶対パスで指定していますが、exeファイルが存在する場所からの相対パスでの指定はできないのでしょうか? csvで保存する時は"./test/test.csv"などと記述して書き込みできていたのですが、 このようなパスを書くとエラーとなりファイルを見つけられないといわれてしまいます。

専門家に質問してみよう