使用SSIS上的脚本任务删除Excel上的某些内容范围

时间:2018-03-21 16:56:02

标签: excel-vba ssis script-task vba excel

我正在尝试使用SSIS上的脚本任务删除Excel上的内容的某些范围(A2:BC2000),或者你们是否提供了任何替代方法。 这是我使用的代码

Public Sub Main()
        Dim Wexcel As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application()
        Dim Wb As Workbook = Wexcel.Workbooks.Open("C:\Users\Shawn\Documents\Depart.xlsx")
        Dim wf As WorksheetFunction = Wexcel.WorksheetFunction
        Dim sheet As Worksheet

        For Each sheet In Wexcel.Worksheets
            If wf.CountA(sheet.Range("A2:BC20000").Value) > 0 Then
                Wexcel.DisplayAlerts = False
                sheet.Delete()
                Wexcel.DisplayAlerts = True


            End If
        Next sheet
        Dts.TaskResult = ScriptResults.Success
    End Sub

如果我使用此脚本任务运行我的包,我将收到错误

enter image description here

任何人都可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我试图删除内容的某个范围(A2:BC2000)

在您的代码中,您有以下几行:

 Wexcel.DisplayAlerts = False
sheet.Delete()
Wexcel.DisplayAlerts = True

这三行删除了工作表,而不是范围。

如果您只想清除指定范围的内容,请使用:

sheet.Range("A2:BC2000").ClearContents

希望这有帮助