こんにちは!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は使うものと前提でお願い致します!
No.1
- 回答日時:
コードは書きませんので自分で調べてください
フォルダ取得した時ルートフォルダ選択時だけは特殊な扱いで
末尾に\(バックスラッシュ)が付加されます
ですので 選択フォルダが3文字(ドライブの¥選択時)
もしくは選択フォルダの末尾文字が¥ だった時は
自前で¥を削除してから\を付けたファイル名を付加する等
工夫する必要があります(いずれの方法でも大した話じゃない)
荒業でいえば 作成後の文字列内の "\\" を "\" の置換するってのでもありかな
if分 Length関数 Replace関数 あたりで作成できます
No.2ベストアンサー
- 回答日時:
パスの結合には,文字列を連結するのではなく,System.IO.PathクラスのCombineメソッドを利用します。
※参考URLには.NET 4のMSDNのURLを記述しています。最新版である.NET 4.5のMSDNは解説部分が訳されていないので。
参考URL:http://msdn.microsoft.com/ja-jp/library/fyy7a5kt …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Android VBA、フォルダのパスに環境文字 ㉑ があり、VBAが機能しません。 2 2022/07/27 09:16
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) VBAでファイル名を指定して保存するとき 4 2023/03/26 21:55
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
windowsでテキストファイルの各...
-
ExcelのVBAでフォルダ指定がで...
-
Excelのハイパーリンクについて...
-
エクセルのマクロについて教え...
-
フォルダ内のPDFファイル名を変...
-
vbsで選択ダイアログを表示した...
-
[VBS] Unicodeの文字化けを防ぎ...
-
ファイル名と同名のフォルダを...
-
excel VBA Dirにて検索したフォ...
-
同一フォルダ内の別ブックから...
-
Excel VBA で フォルダ名の一部...
-
エクセル VBA ファイルをフォ...
-
VBA フォルダの複数選択ができない
-
【マクロ】ファイル名の日付に...
-
VBScriptでのフォルダ指定ダイ...
-
VBS 途中のパスに変数を入れたい
-
VBA フォルダ名に特定の文字を...
-
保存先のフォルダ名を指定した...
-
パス名に2バイト文字(マルチバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
windowsでテキストファイルの各...
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
VBA フォルダ名に特定の文字を...
-
デスクトップの画像をhtmlに表...
-
Excelのハイパーリンクについて...
-
フォルダ内のPDFファイル名を変...
-
Excelで指定したフォルダに保存...
-
会社のネットワーク上のファイ...
-
【マクロ】ファイル名の日付に...
-
保存先のフォルダ名を指定した...
-
多量のファイルをフォルダに自...
-
パス名に2バイト文字(マルチバ...
-
ディレクトリ名変更してコピー...
-
Access VBA で フォルダ権限...
-
C ファイル出力で、フォルダが...
-
サーバ内のフォルダ名と各フォ...
-
フォルダにリンクを貼りたい
-
vbsで選択ダイアログを表示した...
おすすめ情報