大家晚上好。 我必须建立一个SSIS包做如下:将VBA代码应用于来自SSIS的Excel文件
1)执行一个VBA代码到一个XLS文件(移调的范围到另一个范围) 2)保存XLS(在相同的文件或作为新的文件) 3)从转置范围导入修改后的XLS。
基本上我要转,我必须导入XLS里面的数据,我没有找到一个很好的办法做到在SSIS(由于列范围可以将文件之间切换)
有了这个简单VBA脚本我可以做到这一点,并使SSIS以非常直接的方式读取数据。但是,我没有找到一种方法来应用此代码,而无需手动修改Excel来添加脚本并运行VBA脚本。我想自动执行此操作,以便软件包准备xls,提取新数据并将其保存到表中。
任何人都可以谈谈如何应用此代码或其他方式来做到这一点?我认为最重要的一点是这是一个非常具体的范围,我想转置。
Sub myTranspose()
With Range("a18:ZZ27", Range("a18:ZZ27").End(xlDown))
.Copy
Range("a30").PasteSpecial Transpose:=True
End With
End Sub
列范围是否以可预测的方式在文件之间变化?如同一样,一种类型的文件总是有3列,而另一种则有6个。我问,因为这可能会使一个更简单的解决方案。 – sorrell 2015-02-12 07:26:09
不,这些文件不断更改列数,因为它们是使用有关年份和月份的数据生成的自动文件。所有这些数据都在列上而不是行上。而今年他们有一定数量的列,但明年他们会无限增长(增加到当前的列数) – 2015-02-12 09:28:34
也许尝试脚本任务[转置数据。](http://stackoverflow.com/questions/ 12838403/c-sharp-transpose-method-to-transpose-rows-and-columns-in-excel-sheet)然后保存并导入? – sorrell 2015-02-12 13:08:11