2017-02-27 13 views
3

私はExcelのファイルを開き、.csvとして保存するスクリプトタスクを持っていますが、ファイルとして開くシートは保存しますが、保存するシートを選択します。 CSVは、これは私が現在使用しているスクリプトです:SSISスクリプトで特定のExcelシートを有効にするタスク

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を使用するために持っていると思うが、私はそれを見つけるように見えることはできません。

答えて

1

あなたはそれの名前でワークシートを開き、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 
+0

おかげで、選択()が働いていましたxlSheet = DirectCast(xlBook.Worksheets( "Sheet1")、Worksheet) xlSheet.Select() 'は、私の書式で使用すると、ランタイムエラーが発生しました。 – JamesBracky

関連する問題