在SSIS脚本任务中激活特定的Excel工作表

我有一个脚本任务打开一个excel文件,并将其保存为一个.csv,但它保存与该文件打开的工作表,而我想select哪个工作表保存为.csv,这是我目前使用的脚本:

Public Sub Main() Dim oMissing As Object = System.Reflection.Missing.Value Dim xl As New Microsoft.Office.Interop.Excel.ApplicationClass() Dim xlBook As Microsoft.Office.Interop.Excel.Workbook Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet Dim laPath As String = "C:\Filename.xlsx" xlBook = DirectCast(xl.Workbooks.Open(laPath, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing), Workbook) xl.DisplayAlerts = False xlSheet = DirectCast(xlBook.Worksheets.Item(1), Worksheet) xlBook.SaveAs("C:\Filename.csv", 6, oMissing, oMissing, oMissing, oMissing,, oMissing, oMissing, oMissing, oMissing, oMissing) xl.Application.Workbooks.Close() Dts.TaskResult = ScriptResults.Success End Sub 

我想我必须使用xlbook.Worksheets("Sheet1").Activate但我似乎无法find它。

您必须按名称打开工作表,并使用Select()函数select它:

 xlSheet = xlBook.Worksheets("Sheet1") xlSheet.Select() 

你的代码将如下所示:

 Public Sub Main() Dim oMissing As Object = System.Reflection.Missing.Value Dim xl As New Microsoft.Office.Interop.Excel.ApplicationClass() Dim xlBook As Microsoft.Office.Interop.Excel.Workbook Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet Dim laPath As String = "C:\Filename.xlsx" xlBook = xl.Workbooks.Open(laPath) xl.DisplayAlerts = False xlSheet = xlBook.Worksheets("Sheet1") xlSheet.Select() xlBook.SaveAs("C:\Filename.csv", Excel.XlFileFormat.xlCSV,Excel.XlSaveAsAccessMode.xlNoChange) xl.Application.Workbooks.Close() Dts.TaskResult = ScriptResults.Success End Sub 
    Interesting Posts