반응형
안녕하세요.
OpenFileDialog 를 이용해서 파일을 선택하고, 복사하는 방법을 간단하게 설명합니다.
OpenFileDialog에 대해서는 아래의 링크에서 확인할수 있습니다.
Validation 은 따로 설정하기 않기때문에
파일이 선택되어지지 않은 상황에서의 에러 혹은 경고 메세지에 대해서는 양해 부탁드립니다.
먼저 기동하고난 후의 화면입니다.
복사할 대상 폴더로 이미 C: 의 test 폴더를 지정해둔 상황입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | Public Class Form1 ''' <summary> ''' 파일을 선택합니다. ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> Private Sub btnFileSelect_Click(sender As Object, e As EventArgs) Handles btnFileSelect.Click Dim OpenFileDialog1 As New OpenFileDialog() OpenFileDialog1.Title = "파일선택 타이틀입니다." ' 초기 디렉토리를 설정합니다. OpenFileDialog1.InitialDirectory = "C:\" ' 초기 선택파일명을 선택합니다. OpenFileDialog1.FileName = "초기파일명" ' 파일의 필터를 설정합니다. OpenFileDialog1.Filter = "텍스트파일|*.txt;*.log|전체파일|*.*" ' 필터의 초기설정입니다. OpenFileDialog1.FilterIndex = 1 ' 다이얼로그를 닫을때 마지막 설정을 유효로 하겠다는 설정입니다. OpenFileDialog1.RestoreDirectory = True ' 복수파일을 선택가능하게 합니다. OpenFileDialog1.Multiselect = False ' HELP 버튼을 표시합니다. OpenFileDialog1.ShowHelp = True ' 읽기전용으로 표시합니다. OpenFileDialog1.ShowReadOnly = True ' 체크박스를 표시합니다. OpenFileDialog1.ReadOnlyChecked = True ' 존재하지않는 파일을 선택했을때 경고를 표시합니다. 'OpenFileDialog1.CheckFileExists = True ' 존재하지않는 경로를 지정했을때 경고를 표시합니다. 'OpenFileDialog1.CheckPathExists = True ' 확장자가 존재하지 않는경우에는 확장자를 자동으로 붙여줍니다. 'OpenFileDialog1.AddExtension = True ' 유효한 Win32 파일명만을 입력받게합니다. 'OpenFileDialog1.ValidateNames = True ' 다이얼로그를 표시하고 OK 선택시에만 선택한 파일을 표시합니다. If OpenFileDialog1.ShowDialog() = DialogResult.OK Then TextBox1.Text = OpenFileDialog1.FileName ' 파일이 복수선택 되었을때는 아래의 로직이 돌아가며 뿌려줍니다. 'For Each nFileName As String In OpenFileDialog1.FileNames ' MessageBox.Show(nFileName) 'Next nFileName End If ' 처리가 끝났으므로 파기합니다. OpenFileDialog1.Dispose() End Sub ''' <summary> ''' 파일을 지정된곳으로 복사합니다. ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> Private Sub btnFileCopy_Click(sender As Object, e As EventArgs) Handles btnFileCopy.Click ' 파일명을 취득합니다. Dim fileName As String = System.IO.Path.GetFileName(TextBox1.Text) ' 파일을 복사합니다. System.IO.File.Copy(TextBox1.Text, TextBox2.Text & fileName, True) ' 파일을 이동합니다. 'System.IO.File.Move("C:\test\1.txt", "C:\test\3.txt") End Sub End Class | cs |
btnFileSelect_Click 이벤트에서는
파일 선택창을 열어서 파일을 지정하도록 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | Dim OpenFileDialog1 As New OpenFileDialog() OpenFileDialog1.Title = "파일선택 타이틀입니다." ' 초기 디렉토리를 설정합니다. OpenFileDialog1.InitialDirectory = "C:\" ' 초기 선택파일명을 선택합니다. OpenFileDialog1.FileName = "초기파일명" ' 파일의 필터를 설정합니다. OpenFileDialog1.Filter = "텍스트파일|*.txt;*.log|전체파일|*.*" ' 필터의 초기설정입니다. OpenFileDialog1.FilterIndex = 1 ' 다이얼로그를 닫을때 마지막 설정을 유효로 하겠다는 설정입니다. OpenFileDialog1.RestoreDirectory = True ' 복수파일을 선택가능하게 합니다. OpenFileDialog1.Multiselect = False ' HELP 버튼을 표시합니다. OpenFileDialog1.ShowHelp = True ' 읽기전용으로 표시합니다. OpenFileDialog1.ShowReadOnly = True ' 체크박스를 표시합니다. OpenFileDialog1.ReadOnlyChecked = True ' 존재하지않는 파일을 선택했을때 경고를 표시합니다. 'OpenFileDialog1.CheckFileExists = True ' 존재하지않는 경로를 지정했을때 경고를 표시합니다. 'OpenFileDialog1.CheckPathExists = True ' 확장자가 존재하지 않는경우에는 확장자를 자동으로 붙여줍니다. 'OpenFileDialog1.AddExtension = True ' 유효한 Win32 파일명만을 입력받게합니다. 'OpenFileDialog1.ValidateNames = True ' 다이얼로그를 표시하고 OK 선택시에만 선택한 파일을 표시합니다. If OpenFileDialog1.ShowDialog() = DialogResult.OK Then TextBox1.Text = OpenFileDialog1.FileName ' 파일이 복수선택 되었을때는 아래의 로직이 돌아가며 뿌려줍니다. 'For Each nFileName As String In OpenFileDialog1.FileNames ' MessageBox.Show(nFileName) 'Next nFileName End If ' 처리가 끝났으므로 파기합니다. OpenFileDialog1.Dispose() | cs |
btnFileCopy_Click 이벤트에서는 지정된 파일을 지정해둔 폴더로 복사 혹은 이동하는 역활을 합니다.
1 2 3 4 5 6 7 | ' 파일명을 취득합니다. Dim fileName As String = System.IO.Path.GetFileName(TextBox1.Text) ' 파일을 복사합니다. System.IO.File.Copy(TextBox1.Text, TextBox2.Text & fileName, True) ' 파일을 이동합니다. | cs |
전체 소스는 아래 첨부파일을 참고하세요.
반응형
'VB.NET' 카테고리의 다른 글
[질답] 비주얼 베이직 2017 질문 (0) | 2019.02.20 |
---|---|
[질답] 셀의 개수 통계내는 vba 도와주세요 (0) | 2018.01.19 |
label textbox 제어 (0) | 2018.01.12 |
VisualBasic FileCopy Paste (0) | 2018.01.11 |
[샘플] Timer 를 이용한 시간차계산 (0) | 2018.01.10 |