通过 VBA 从 SSIS 中清除多个工作表中的单元格
Clear cells in multiple sheets from SSIS by VBA
我如何在 SSIS vba 中使用以下 VBA 编码。我想通过 VBA 编码
从 SSIS 的多个工作表中清除单元格(数据)
sub cod()
ThisWorkbook.Worksheets("Case management details").Range("A2:K10000").clear
ThisWorkbook.Worksheets("interface Timeliness").Range("A2:G20000").clear
ThisWorkbook.Worksheets("Life Events").Range("A2:N10000").clear
End sub
我在这里遇到了同样的问题。如果您决定使用 SSIS 组件解决此问题,请尝试使用 Script Task
。
创建 excel 后,步骤将是:
- 在控制流程上添加
Script Task
。
- 双击组件。
- 按'Edit Script...'按钮。
- 右键单击新建 visual studio windows 中的项目(应该类似于 'ST_' 和一些 guid)并单击
Manage NuGet Packages...
- 从 'Browse' 选项卡安装:
- Microsoft.Office.Interop.Excel
- Microsoft.CSharp
- 在命名空间区域添加这两行:
using Microsoft.Office.Interop.Excel;
using Microsoft.CSharp.RuntimeBinder;
- 将下面的代码复制到
ScriptMain
class:
var appExcel = new Excel.Application();
string filename = @"D:\PathToExcel\ExcelFile.xlsx";
var newBook = appExcel.Workbooks.Open(filename);
var oSheet1 = newBook.Worksheets["Case management details"];
oSheet1.Range("A2", "K10000").Delete();
newBook.Save();
appExcel.Workbooks.Close();
appExcel.Quit();
关闭而不保存第二个 visual studio window(您在其中编写脚本代码)。
运行 套餐
注:
您可以将其替换为包变量,而不是硬编码文件位置。在这种情况下,第二行将是:
string filename = Dts.Variables["User::ExcelFilePath"].Value.ToString();
我在写答案之前测试了这个包,一切都很完美!
按照这个逻辑,创建多个 sheet 实例并删除你想要的。
如果有什么不清楚或不合逻辑的地方,请在评论中给我留言,我会进行更正。
我如何在 SSIS vba 中使用以下 VBA 编码。我想通过 VBA 编码
从 SSIS 的多个工作表中清除单元格(数据)sub cod()
ThisWorkbook.Worksheets("Case management details").Range("A2:K10000").clear
ThisWorkbook.Worksheets("interface Timeliness").Range("A2:G20000").clear
ThisWorkbook.Worksheets("Life Events").Range("A2:N10000").clear
End sub
我在这里遇到了同样的问题。如果您决定使用 SSIS 组件解决此问题,请尝试使用 Script Task
。
创建 excel 后,步骤将是:
- 在控制流程上添加
Script Task
。 - 双击组件。
- 按'Edit Script...'按钮。
- 右键单击新建 visual studio windows 中的项目(应该类似于 'ST_' 和一些 guid)并单击
Manage NuGet Packages...
- 从 'Browse' 选项卡安装:
- Microsoft.Office.Interop.Excel
- Microsoft.CSharp
- 在命名空间区域添加这两行:
using Microsoft.Office.Interop.Excel;
using Microsoft.CSharp.RuntimeBinder;
- 将下面的代码复制到
ScriptMain
class:
var appExcel = new Excel.Application();
string filename = @"D:\PathToExcel\ExcelFile.xlsx";
var newBook = appExcel.Workbooks.Open(filename);
var oSheet1 = newBook.Worksheets["Case management details"];
oSheet1.Range("A2", "K10000").Delete();
newBook.Save();
appExcel.Workbooks.Close();
appExcel.Quit();
关闭而不保存第二个 visual studio window(您在其中编写脚本代码)。
运行 套餐
注:
您可以将其替换为包变量,而不是硬编码文件位置。在这种情况下,第二行将是:
string filename = Dts.Variables["User::ExcelFilePath"].Value.ToString();
我在写答案之前测试了这个包,一切都很完美!
按照这个逻辑,创建多个 sheet 实例并删除你想要的。 如果有什么不清楚或不合逻辑的地方,请在评论中给我留言,我会进行更正。