在后台打开CSV文件并检索工作表名称

问题描述:

我的VBA项目包含清理数据库。在后台打开CSV文件并检索工作表名称

我正在使用一个用户窗体,这是我写到现在的代码。

我已经成功地导入一个文件,但我仍然无法对其执行操作。

  1. 我需要你们告诉我我怎样才能得到工作簿的名称,我只是进口启动其工作簿名称和工作表名称引用数据库分配动作.csv文件的工作表。
  2. 我也很感激,如果你能告诉我怎么把我的用户窗体顶部,或如何导入.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 
+2

工作申报工作簿变量,说WB,并设置CSV你打开它的文件:设置wb = Workbooks.Open Filename:= fNameAndPath然后你可以使用wb来处理它。与表格相同:设置ws = wb.Sheets(1) – Absinthe

+0

CSV文件是一个文本文件,而不是一个excel文件。您在这里通过涉及excel而使事情变得复杂 –

最佳使用声明的变量来引用打开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