우리는 이미 VBA에서 Excel 파일을 열거 나 저장하는 방법을 알고 있습니다. Workbook 개체의 Open 및 SaveAs 메서드를 사용하기 만하면됩니다. 그러나 파일 경로를 하드 코딩해야합니다. 그러나 대부분의 경우 최종 사용자가 GUI를 사용하여 파일을 선택하거나 파일 열기 또는 다른 이름으로 저장 대화 상자라고 말하면 사용자가 시각적으로 쉽게 파일 위치를 선택할 수 있습니다.

이 기사에서는 통합 문서 열기 대화 상자를 표시하고 대화 상자로 저장하는 데 사용되는 코드를 다룹니다.

다운로드 할 수있는 통합 문서를 첨부했습니다. 이 기사에 첨부 된 통합 문서에는 3 개의 매크로 === 파일 열기 대화 상자를 사용하여 파일을 여는 VBA 코드이 코드에서는 Application의 GetOpenFilename 메서드를 사용합니다. GetOpenFilename 메서드의 구문은 다음과 같습니다.

_Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect]) _ [FileFilter] : 선택한 폴더에 한 종류의 파일 만 표시하도록 정의 할 수 있습니다. “Excel-Files, .xlsx, .xls, * .xlsm”등을 쓰면

그러면 파일 열기 대화 상자의 폴더에서 Excel 파일 만 표시됩니다.

[FilterIndex] : * 사용할 파일 필터의 수입니다.

[제목] : 대화 상자의 제목입니다.

[ButtonText] : * 버튼 텍스트를 지정합니다. 중요하지 않습니다.

[MultiSelect] : 부울 변수입니다. True 또는 1로 설정하면 하나 이상의 파일을 선택할 수 있습니다. false로 설정하면 하나의 파일 만 선택할 수 있습니다.

이론은 충분합니다. 주문을 좀 해보자.

한 번에 하나의 파일을 여는 VBA 코드

Option Explicit

Sub OpenOneFile()

Dim FileName As Variant

'Displaying the open file dialog box

FileName = Application.GetOpenFilename("Excel-files,*.xls", _

1, "Select One File To Open", , False)

'User didn't select a file

If TypeName(FileName) = "Boolean" Then Exit Sub

'Open the workbook

Workbooks.Open FileName

End Sub

ArrowOpeningSingle

어떻게 작동합니까?

이 코드 세그먼트를 실행하면 응용 프로그램 개체에 대한 GetOpenFilename 메서드가 파일 열기 대화 상자를 엽니 다. 대화 상자의 제목은 코드에서 정의한 “열려면 하나의 파일 선택”이됩니다.

파일을 선택하면 Worbook.Open 코드가 실행되고 파일이 열립니다. 파일을 선택하지 않으면 Workbook.Open 코드를 실행하지 않고 서브가 종료됩니다.

한 번에 하나 이상의 파일을 여는 VBA 코드이 코드 세그먼트는 파일 열기 대화 상자를 열지 만 한 번에 둘 이상의 파일을 선택할 수 있습니다.

Sub OpenMultipleFiles()

Dim FileName As Variant, f As Integer

'Displaying the open file dialog box

FileName = Application.GetOpenFilename("Excel-files,*.xlsx", _

1, "Select One Or More Files To Open", , True)

'User didn't select a file

If TypeName(FileName) = "Boolean" Then Exit Sub

'Open all the workbooks selected by user

For f = 1 To UBound(FileName)

Workbooks.Open FileName(f)

Next f

End Sub

여기에서는 다중 선택 변수를 True로 설정했습니다. 이렇게하면 파일을 여러 개 선택할 수 있습니다.

ArrowOpeningMultiple

다른 이름으로 저장 대화 상자를 여는 VBA 코드 다른 이름으로 저장 대화 상자를 열려면 Application 개체의 GetSaveAsFilename 메서드를 사용합니다. 메서드 구문은 다음과 같습니다.

_Application.GetSaveAsFilename ([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText]) _ [InitialFileName] : * 초기 파일 이름입니다. 파일을 저장하는 동안 이름을 변경하지 않으면 파일이이 이름으로 저장됩니다.

[FileFilter] : 선택한 폴더에 한 종류의 파일 만 표시하도록 정의 할 수 있습니다. “Excel-Files, .xlsx, .xls, * .xlsm”등을 쓰면

그러면 파일 열기 대화 상자의 폴더에서 Excel 파일 만 표시됩니다.

[FilterIndex] : 파일의 필터 인덱스.

[Title] : * 대화 상자의 제목입니다.

[ButtonText] : * Mac 시스템에서 버튼 이름을 변경하는 데 사용됩니다.

아래 코드를 따르세요

Sub SaveFile()

Dim FileName As Variant

'Displaying the saveas dialog box

FileName = Application.GetSaveAsFilename("MyFileName.xls", _

"Excel files,*.xls", 1, "Select your folder and filename")

'User didn't save a file

If TypeName(FileName) = "Boolean" Then Exit Sub

'Save the workbook

ActiveWorkbook.SaveAs FileName

End Sub

SaveFile 매크로는 Application 개체의 GetSaveAsFilename 메서드를 사용하여 다른 이름으로 저장 대화 상자를 열고 파일 이름을 할당하고 통합 문서를 저장할 위치를 선택합니다.

ArrowSavingWorkbook

예, 이것이 대화 상자를 사용하여 VBA를 사용하여 파일을 열고 저장할 수있는 방법입니다. 도움이 되었기를 바랍니다. 이 기사 또는 다른 VBA 주제에 대해 의문이 있으시면 아래 의견 섹션에서 질문하십시오.

관련 기사 :

link : / import-and-export-in-vba-use-a-closed-workbook-as-a-database-dao-using-vba-in-microsoft-excel [닫힌 통합 문서를 데이터베이스 (DAO)로 사용 Microsoft Excel에서 VBA 사용]| 닫힌 통합 문서를 DAO 연결이있는 데이터베이스로 사용하려면 Excel에서이 VBA 코드 조각을 사용하십시오.

link : / import-and-export-in-vba-use-a-closed-workbook-as-a-database-ado-using-vba-in-microsoft-excel [닫힌 통합 문서를 데이터베이스로 사용 (ADO) Microsoft Excel에서 VBA 사용]| 닫힌 통합 문서를 ADO 연결이있는 데이터베이스로 사용하려면 Excel에서이 VBA 조각을 사용하십시오.

link : / applications-word-outlook-in-vba-getting-started-with-excel-vba-userforms [Getting Started With Excel VBA UserForms]| * 데이터를 데이터베이스에 삽입하기 위해 양식을 사용합니다. Excel 사용자 양식은 사용자로부터 정보를 얻는 데 유용합니다. 다음은 VBA 사용자 양식으로 시작하는 방법입니다.

===

link : / user-forms-input-boxes-in-vba-change-the-valuecontent-of-several-userform-controls-using-vba-in-microsoft-excel [여러 UserForm 컨트롤의 값 / 내용 변경 Excel에서 VBA 사용]| * 사용자 양식 컨트롤의 내용을 변경하려면이 간단한 VBA 스 니펫을 사용하십시오.

link : / user-forms-input-boxes-in-vba-prevent-a-userform-from-closing- when-the-user-clicks-the-x-button-using-vba-in-microsoft-excel [ 사용자가 Excel에서 VBA를 사용하여 x- 버튼을 클릭 할 때 사용자 폼이 닫히지 않도록 방지]| 사용자가 폼의 x 버튼을 클릭 할 때 사용자 폼이 닫히는 것을 방지하기 위해 UserForm_QueryClose 이벤트를 사용합니다.

인기 기사 :

link : / keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [50 개의 Excel 단축키로 생산성 향상]| 작업 속도를 높이십시오. 이 50 개의 바로 가기를 사용하면 Excel에서 더 빠르게 작업 할 수 있습니다.

link : / formulas-and-functions-introduction-of-vlookup-function [Excel의 VLOOKUP 함수]| 이것은 다른 범위와 시트에서 값을 조회하는 데 사용되는 Excel의 가장 많이 사용되고 인기있는 기능 중 하나입니다.

link : / tips-countif-in-microsoft-excel [Excel 2016의 COUNTIF]| 이 놀라운 기능을 사용하여 조건으로 값을 계산합니다. 특정 값을 계산하기 위해 데이터를 필터링 할 필요가 없습니다.

Countif 기능은 대시 보드를 준비하는 데 필수적입니다.

link : / excel-formula-and-function-excel-sumif-function [Excel에서 SUMIF 함수 사용 방법]| 이것은 또 다른 대시 보드 필수 기능입니다. 이것은 특정 조건에 대한 값을 합산하는 데 도움이됩니다