Private Sub cmdDataINPUT_Click() Dim MyDialog As FileDialog, GetStr As String On Error Resume Next '忽略错误 '定义一个文件夹选取对话框 'Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) Set MyDialog = Application.FileDialog(msoFileDialogOpen) ' With MyDialog .Filters.Clear '清除所有文件筛选器中的项目 .Filters.Add "csv 文件", "*.csv", 1 '增加筛选器的项目为所有csv文件 .AllowMultiSelect = True '允许多项选择 .Title = "选择导入文件" If .Show = -1 Then '确定 For Each vrtSelectedItem In .SelectedItems '在所有选取项目中循环,取得所选的文件路径和文件名 GetStr = GetStr & vbCrLf & vrtSelectedItem Next vrtSelectedItem 'MsgBox GetStr 'Workbooks.Open FileName:="GetStr" '打开该文件,但是这里却行不通,苦恼的就是这里 Workbooks.Open FileName:="C:\CAS系统导入文件-忽视的法士大夫似的发--1复件5.csv" '打开该文件,用这个可以打开,但不是我想要的,因为每次要打开的文件是用户选择的那个,而不是固定这个 cboType.Text = Sheets(1).Cells(4, 2) 'cboType是系统界面上的控件,他的值等于选中的文件的Sheets(1).Cells(4, 2) ,这里只是举例,真正系统中有很多
ActiveWorkbook.Close '关闭打开的文件 'Windows("C:\CAS系统导入文件-忽视的法士大夫似的发--1复件5.csv").Close '关闭打开的文件 ' Workbooks(GetStr).Close True '关闭打开的文件,但这里也行不同,不过可以用这个ActiveWorkbook.Close End If End With End Sub 还有一个问题是:以上次序弹出的"选择导入文件"对话框,我单击一个文件的时候,文件名的地方没有显示该文件的文件名,仍然是空白的,但这个不是很要紧. 高手们帮帮忙帮我改以下,也可以从新帮我编一个,先谢了! |