使用 SSIS 上的脚本任务删除 Excel 上的特定范围的内容
Delete Certain Range of Content on Excel Using Script Task on SSIS
我正在尝试使用 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
如果我 运行 我的包裹有这个脚本任务,我会收到下面的错误
谁能解决这个问题?
我正在尝试删除某些范围 (A2:BC2000) 的内容
在你的代码中,你有这些行:
Wexcel.DisplayAlerts = False
sheet.Delete()
Wexcel.DisplayAlerts = True
这 3 行删除了 sheet,而不是范围。
如果只想清除指定范围内的内容,则使用:
sheet.Range("A2:BC2000").ClearContents
希望对您有所帮助
我正在尝试使用 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
如果我 运行 我的包裹有这个脚本任务,我会收到下面的错误
谁能解决这个问题?
我正在尝试删除某些范围 (A2:BC2000) 的内容
在你的代码中,你有这些行:
Wexcel.DisplayAlerts = False
sheet.Delete()
Wexcel.DisplayAlerts = True
这 3 行删除了 sheet,而不是范围。
如果只想清除指定范围内的内容,则使用:
sheet.Range("A2:BC2000").ClearContents
希望对您有所帮助