在后台打开CSV文件并检索工作表名称
问题描述:
我的VBA项目包含清理数据库。在后台打开CSV文件并检索工作表名称
我正在使用一个用户窗体,这是我写到现在的代码。
我已经成功地导入一个文件,但我仍然无法对其执行操作。
- 我需要你们告诉我我怎样才能得到工作簿的名称,我只是进口启动其工作簿名称和工作表名称引用数据库分配动作.csv文件的工作表。
- 我也很感激,如果你能告诉我怎么把我的用户窗体顶部,或如何导入.csv文件而不显示
代码
Dim fNameAndPath As Variant
Private Sub importedworkbook_Click()
MsgBox "imported workbook : " & _
fNameAndPath
End Sub
Private Sub Importbutton_Click()
fNameAndPath = Application.GetOpenFilename(FileFilter:="CSV Files Only (*.CSV), *.XLS", Title:="Select File To Be Opened")
If fNameAndPath = False Then Exit Sub
Workbooks.Open Filename:=fNameAndPath
End Sub
答
最佳使用声明的变量来引用打开CSV片
Private wsCSV as Worksheet
Private Sub Importbutton_Click()
Dim wb as Workbook
fNameAndPath = Application.GetOpenFilename(FileFilter:="CSV Files Only (*.CSV), *.XLS", Title:="Select File To Be Opened")
If fNameAndPath = False Then Exit Sub
Set wb = Workbooks.Open(Filename:=fNameAndPath)
Set wsCSV = wb.Worksheets(1) ' A csv file will only ever have one sheet
End Sub
可变wsCSV
现在是指C SV片,并且可以在其他代码中引用用户窗体模块中
答
您可以打开的Excel实例与隐藏文件
Dim objExcel As Excel.Application
Dim wb As Workbook
fNameAndPath = Application.GetOpenFilename(FileFilter:="CSV Files Only (*.CSV), *.XLS", Title:="Select File To Be Opened")
If fNameAndPath = False Then Exit Sub
Set objExcel = New Excel.Application
Set wb = objExcel.Workbooks.Open(fNameAndPath)
Set wsCSV = wb.Worksheets(1)
MsgBox wsCSV.Name
' do stuff
'close second instance
wb.Close False
objExcel.Quit
Set objExcel = Nothing
工作申报工作簿变量,说WB,并设置CSV你打开它的文件:设置wb = Workbooks.Open Filename:= fNameAndPath然后你可以使用wb来处理它。与表格相同:设置ws = wb.Sheets(1) – Absinthe
CSV文件是一个文本文件,而不是一个excel文件。您在这里通过涉及excel而使事情变得复杂 –