csv文件另存为xlsx的 EXCEL VBA代码
(2016-01-31 23:07:39)分类: Excel Vba |
假设桌面上有个a.csv文件,要另存为a.xlsx文件,fileformat要指定51
参考
long XlFileFormat;
if(!xlFormat.CompareNoCase(_T("xls")))XlFileFormat=56;
elseif(!xlFormat.CompareNoCase(_T("xlsx"))) XlFileFormat=51;
elseif(!xlFormat.CompareNoCase(_T("csv"))) XlFileFormat=6;
elseXlFileFormat=56;
xls.SaveAs(sFileName,_variant_t(XlFileFormat));
if(!xlFormat.CompareNoCase(_T("xls")))
else
else
else
xls.SaveAs(sFileName,
With one of the one liners from this list
FileExtStr = ".xlsb": FileFormatNum = 50
FileExtStr = ".xlsx": FileFormatNum = 51
FileExtStr = ".xlsm": FileFormatNum = 52
Or maybe you want to save the one worksheet workbook to csv, txt or
prn.
(you can use this also if you run the code in Excel 97-2003)
FileExtStr = ".csv": FileFormatNum =
6
FileExtStr = ".txt": FileFormatNum = -4158
FileExtStr = ".prn": FileFormatNum = 36
代码:
Sub a()
Rem Workbooks.Open
Filename:="C:\Users\Administrator.USER-20151221JB\Desktop\a.csv"
Rem Workbooks.Open
Filename:="C:\Users\Administrator.USER-20151221JB\Desktop" &
"\a.csv"
Set acsv = Workbooks.Open(ThisWorkbook.Path &
"\a.csv")
Rem ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path &
"\a.xls", FileFormat:=xlNormal
ActiveWorkbook.Close
End Sub