2017-12-28 10 views
0

아래 코드를 사용하여 csv 파일을 가져옵니다. 나는 그것을 위해 수정하고 싶습니다. .csv 파일을 .xlsx 파일로 변경했지만 작동하지 않습니다. 어떤 도움이 필요합니까?VBA에 액세스 : 가져 오기 전에 선택한 파일이 Excel 형식인지 확인하는 방법

 Const msoFileDialogFilePicker As Long = 3 
     Dim objDialog As Object 
     Set objDialog = Application.FileDialog(msoFileDialogFilePicker) 

With objDialog 
    .AllowMultiSelect = False 
    .SelectedItems(1) = Trim$(.SelectedItems(1)) 
    .Show 
     If .SelectedItems.Count = 0 Then 
     MsgBox "No file selected." 
     Exit Sub 
     ElseIf Right(.SelectedItems(1), 4) <> ".csv" Then 
     MsgBox "You must select a csv (.csv) file.", vbCritical 
     Exit Sub 

답변

1

오류는 매우 간단합니다. ".xlsx" 인 경우 마지막 4자를 확인합니다.

ElseIf Right(.SelectedItems(1), 5) <> ".xlsx" Then 

또는의 FileDialog에 필터를 사용하여, 그것을 적절한 방법을, 사람들이 너무 : ".xlsx"이 5 자이기 때문에, 마지막 4 개 문자는 Right 5의 숫자 ".xlsx"

변경 될 수 없습니다 xlsx 만 선택할 수 있습니다.

With objDialog 
    .AllowMultiSelect = False 
    .Filters.Add "Excel files", "*.xlsx",1 
+0

굉장! 고마워요! – SKay