- 締切済み
ファイルを決められた所にコピー
VB.NET2003を使っています。 ラジオボタンを押すとダイヤログBOXが開き、フォルダーを開きファイルを選択するだけで、決められた所に コピー又は移動するには、どう書けばいいでしょうか。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- psychang
- ベストアンサー率50% (2/4)
Imports System Imports System.IO Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows フォーム デザイナで生成されたコード " ・・・(省略)・・・ #End Region Public GetName As String Public savePath As String '' デザイナで、ツールボックス → Windowsformから '' OpenFileDialog と SaveFileDialog を 貼り付けてください。 Public Function openFile() With OpenFileDialog1 .CheckFileExists = True 'ファイルが存在するか確認 .RestoreDirectory = True 'ディレクトリの復元 .Filter = _ "すべてのファイル(*.*)|*.*|テキストファイル(*.txt)|*.txt" .FilterIndex = 1 'Filterプロパティの1つ目を表示 .InitialDirectory = CurDir(System.Reflection.Assembly.GetExecutingAssembly.Location) GetName = "" 'ダイアログボックスを表示し、[開く]をクリックした場合 If .ShowDialog = DialogResult.OK Then GetName = .FileName If GetName <> "" Then Call saveFile(savePath & Path.GetFileName(GetName)) End If End If End With End Function '[名前を付けて保存]ダイアログボックスを表示 Public Function saveFile(ByVal SetName As String) System.IO.Directory.CreateDirectory(savePath) ''フォルダを作成する場合 Dim SourceFile, DestinationFile As String SourceFile = GetName DestinationFile = SetName If SourceFile = DestinationFile Or System.IO.Directory.Exists(DestinationFile) Then ''エラー処理 Exit Function End If If RadioBtn_M.Checked = True Then ''移動 System.IO.Directory.Move(SourceFile, DestinationFile) ElseIf RadioBtn_C.Checked = True Then ''コピー FileCopy(SourceFile, DestinationFile) End If End Function ''=============================== ラジオボタン1(保存先1)=============================== Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged savePath = CurDir(System.Reflection.Assembly.GetExecutingAssembly.Location) & "\Folder1\" ''固定パス1 ''Binフォルダの中の Folder1 にファイルが格納されます。目的のパスに書き換えてください。 Call openFile() End Sub ''=============================== ラジオボタン2(保存先2)=============================== Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged savePath = CurDir(System.Reflection.Assembly.GetExecutingAssembly.Location) & "\Folder2\" ''固定パス2 Call openFile() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load RadioBtn_C.Checked = True End Sub ''参考文献 Visual Basic .NET 逆引き大全500の極意 秀和システム ''バグありますが無いよりましかな?と思って投稿しました。 ''私より詳しい方、ソースを直していただけるとありがたいです。 End Class
お礼
ありがとうございます 私の書き方が悪く解りづらかったと思います 凄い参考になりました