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

このQ&Aのポイント
  • SaveFileDialogクラスのインスタンスを作成して、フォルダの指定先をコピーする方法について教えてください。
  • FolderBrowserDialogクラスを使用して、指定したフォルダ内にあるファイルを操作する方法について教えてください。
  • 具体的なソースコードの書き方を教えてください。
回答を見る
  • ベストアンサー

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

いきなりですが例です。 例(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"でも怒られます。 どの様にしてソースを書けば良いでしょうか? ※回答はソースコードを必ず書き込んでください。

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

fbd.SelectedPathはフォルダー名ですから ファイルのコピー先の指定には不十分です 選択されたのが C:Workであるなら その下にファイル名を補足しないといけません そのファイル名は あなたが決めるのか、プログラムを使用するユーザーが決めるのかは われわれ回答者は判断できかねます こちらで用意するのであれば System.IO.File.Copy("C:\test.txt", fbd.SelectedPath & "\sample.html" , True) ユーザーに指定させるのであれば System.IO.File.Copy("C:\test.txt", fbd.SelectedPath & "\" & TextBox1.text , True) などでしょう > ※回答はソースコードを必ず書き込んでください。 に書くと反感を買うこともありますよ

linefox
質問者

お礼

回答有難うございます。 質問内容不足で申し訳ないです。 あと > ※回答はソースコードを必ず書き込んでください。 承知しました。今後注意します。 有難うございました。

関連するQ&A

  • 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で選択したフォルダにフォルダを上書きすることができないのです。アドバイスよろしくお願いします。

  • FolderBrowserDialogの使い方

    こんにちは!FolderBrowserDialogについてお教えいただけないでしょうか? 下記のコードを実行しました。 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '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 '選択されたフォルダを表示する Console.WriteLine(fbd.SelectedPath) End If ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' デスクトップを選択すると、「C:\Users\owner\Desktop」、 Cドライブを選択すると、「C:\」となります。 フォルダを選択した後に、「abc.txt」という固定ファイルを出力させようと思っています。とりあえずは、文字列連結をしてフルパスを作成します。 選択したフォルダパスに「"\abc.txt"」と文字列連結すると、「C:\Users\owner\Desktop\abc.txt」になります。 これは、OKです。 しかし、「Cドライブ直下では、「C:\\abc.txt」となってしまい、円マークが2つできてしまいます。 これだと正しいパスにファイルを出力することができないと思います。 これを解決するには、つまり「C:\abc.txt」にするには、どのようにコードを書いたらいいでしょうか?FolderBrowserDialogは使うものと前提でお願い致します!

  • 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

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

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

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

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

  • VB2010 txtファイルとして保存をする方法

    度々、VBの質問をしています。学習中ですみません。 TextBoxに入力されている文字をテキストファイルとして保存したいのですが、 参考にしているテキストが、Imageファイルだったので途中から分からなくて… どのようにしたら良いのでしょうか? ’OKボタンがクリックされたときに 入力するコードをどなたか教えてください。 フォームにメニューを追加し、その下に名前を付けて保存を入力しています。 Private Sub 名前を付けて保存ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 名前を付けて保存ToolStripMenuItem.Click Dim sfd As New SaveFileDialog 'はじめに表示されるフォルダを指定する sfd.InitialDirectory = "C:\Users\○○\Desktop" '「ファイルの種類」に表示される選択肢を指定する sfd.Filter = "すべてのファイル(*.*)|*.*|テキストファイル(*.txt)|*.txt" '「テキストファイル」が選択されているようにする sfd.FilterIndex = 2 sfd.Title = "保存先のフォルダを選択してください。" sfd.RestoreDirectory = True 'ダイアログボックスを表示する If sfd.ShowDialog() = DialogResult.OK Then 'OKボタンがクリックされたとき End If

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

    質問ですが、 'フォルダセット 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) の一部が見つかりませんでした" という怒られ内容です。 ドコモ間違ってないのに、この様なエラーが出てしまうのですが 何処が悪いのでしょうか?どの様な改善をすれば良いでしょうか?

  • C# プログラム

    今,下記のようなプログラムを組んでdatagridviewのデータをcsvに保存するようにしようとしているのですが,1つのデータであれば保存が出来たのですが,今行いたいのはdatagridviewにあるデータすべてをcsvに保存したいのです.おそらく配列か何かに入れないといけないんだとは思うのですが, どなたかご教授頂けないでしょうか? private void button2_Click(object sender, EventArgs e) { //データテーブル設定 int R, C; R = dataGridView1.RowCount - 1; C = dataGridView1.ColumnCount - 1; string wdata = string.Empty; string tmpdata = string.Empty; //string Ter =Convert.ToString(R); //string Tec = Convert.ToString(C); //textBox1.Text = Ter; //textBox2.Text = Tec; //SaveFileDialogクラスのインスタンスを作成 //SaveFileDialog sfd = new SaveFileDialog(); //ダイアログを表示する //if (sfd.ShowDialog() == DialogResult.OK) //c = dataGridView1[Rdata, Gdata].Value.ToString(); // 以下を変更 string c = Convert.ToString(dataGridView1.Rows[0].Cells[0].Value); // 以下ファイル書き込みと保存 string strName = "xxx.csv"; // 仮のファイル名 string strPath = "c:/csv/"; // 仮のディレクトリ名 SaveFileDialog sfd = new SaveFileDialog(); sfd.InitialDirectory = strPath; sfd.FileName = strName; sfd.Filter = "CSVファイル(*.csv)|*.csv"; sfd.Title = "保存先を指定してください"; sfd.RestoreDirectory = true; sfd.CheckFileExists = false; if (sfd.ShowDialog() == DialogResult.OK) { // ファイルを指定してインスタンス作成 System.IO.StreamWriter sw = new System.IO.StreamWriter(sfd.FileName); try { // ファイル書き込み sw.Write(c); } catch { // エラー処理(これだとダメだけどとりあえず) MessageBox.Show("ファイル書き込みエラー", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { // 解放 sw.Dispose(); sfd.Dispose(); } }

  • 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 ------------------------------------------------------- 以上  宜しくお願い致します。(^@^)

  • 文字列の最後の文字取得

    またまたお世話になります。 Microsoft Visual Basic 2008 Express Editionを使ってます。 MyFolder.Description = "フォルダを指定してください" MyFolder.RootFolder = System.Environment.SpecialFolder.Desktop MyFolder.SelectedPath = "C:\Program Files" If  MyFolder.ShowDialog() = DialogResult.OK  Then   If  ???= "\"  Then    NewMyFolder = MyFolder.SelectedPath  &  "test"   Else    NewMyFolder = MyFolder.SelectedPath  &  "\test"   End If End If MyFolder.Dispose() MkDir(NewMyFolder)←? Label2.Text = NewMyFolder ダイアログで選択してそこにtestフォルダを作成したいのですが。。。 MyFolder.SelectedPathが "C:\Program Files"の場合(例) "D:\"の場合(例) 文字列の最後の文字を取得したいのですが ???の部分がわかりません。 Rigthは使えませんでした。 ???の部分を教えてください。