C#怎么操作EXCEL中自带的宏代码
C#如何操作EXCEL中自带的宏代码
有很多个EXCEL表格,由于不是标准格式的(用C#是打不开的),所以要用EXCEL自带的宏代码转化为标准的EXCEL并合并。
想法是先转化为.csv格式(然后在运行命令框中合并)
以下宏代码是要在EXCEL中操作,不知如何才能在C#窗体中操作并实现以下功能(将多个不是标准的EXCEL转化为.csv格式或标准的EXCEL格式):
------解决方案--------------------
搜索方法:
http://www.baidu.com/s?wd=c%23+%D6%B4%D0%D0excel%BA%EA&rsv_bp=0&rsv_spt=3&inputT=8680
搜索结果:
http://www.cnblogs.com/kevinGao/archive/2011/09/27/2192942.html
------解决方案--------------------
转换vba实现
有很多个EXCEL表格,由于不是标准格式的(用C#是打不开的),所以要用EXCEL自带的宏代码转化为标准的EXCEL并合并。
想法是先转化为.csv格式(然后在运行命令框中合并)
以下宏代码是要在EXCEL中操作,不知如何才能在C#窗体中操作并实现以下功能(将多个不是标准的EXCEL转化为.csv格式或标准的EXCEL格式):
- VB code
Sub Macro1() ' ' Macro1 Macro ' ' ChDir "D:\test" date1 = DateSerial(2012, 3, 1) date2 = DateSerial(2012, 3, 31) dat = date1 Do While dat <= date2 Workbooks.Open Filename:= _ "D:\test\" & Format(dat, "yyyymmdd") & ".Xls" ActiveWorkbook.SaveAs Filename:= _ "D:\test\new\" & Format(dat, "yyyymmdd") & ".csv", FileFormat:=xlCSV, _ CreateBackup:=False ActiveWorkbook.Close Application.DisplayAlerts = False Application.AlertBeforeOverwriting = False dat = DateAdd("d", 1, dat) Loop End Sub
------解决方案--------------------
搜索方法:
http://www.baidu.com/s?wd=c%23+%D6%B4%D0%D0excel%BA%EA&rsv_bp=0&rsv_spt=3&inputT=8680
搜索结果:
http://www.cnblogs.com/kevinGao/archive/2011/09/27/2192942.html
------解决方案--------------------
转换vba实现