excel - 使用 VBA 将 csv 文件转换为 Excel(将列作为文本)

标签 excel vba

我有一个 csv 文件,例如将数据如下 (a.csv) 转换为 Excel。

在第二列中,前导 0 被截断。

有没有办法在将 csv 导入 Excel 之前将第二列定义为文本?

我不想像许多解决方案中建议的那样将“`”或任何字符附加到第二列。

a.csv
--------
123,001232323
456,004567772

我有下面的代码。
srccsvfile = "C:\a.csv"
tgtxlsfile = "C:\a.xls"

'Instantiate Excel
Set objExcel = CreateObject("Excel.Application")

'open the CSV file
Set objWorkBook = objExcel.Workbooks.open(srccsvfile)

Set objWorksheet1 = objWorkbook.Worksheets(1)

objWorksheet1.Columns("A:I").AutoFit
objWorksheet1.Columns("B").NumberFormat="@"

'Save the file as excel workbook
objWorkBook.SaveAs tgtxlsfile, 39

'close workbook
objWorkBook.Close False
'quit excel
objExcel.Quit

'clean up
Set objWorkBook = Nothing
Set objExcel = Nothing

最佳答案

将单元格的格式更改为“文本”而不​​是“一般”或“数字”,Excell 将不理会它。

关于excel - 使用 VBA 将 csv 文件转换为 Excel(将列作为文本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13213590/

相关文章:

vba - 如何组织和构造多子/功能 VBA 代码以使其实际运行?

visual-studio - Visual Studio 中的 Excel 资源

vba - excel单元格=另一个工作簿的文件名

.net - system.security.cryptography.SHA256在.NET 4.5 (Windows 10) 中管理

vba - 有条件地检查正值与负值

vba - VBS InStr 的问题 - 使用嵌套的 InStr 作为可选的开始参数

vba - 在excel vba中为特定范围设置自定义数字格式时键入不匹配错误

vba - Excel宏: Modifying formula and appending segment

string - Excel VBA,查询表达式中的语法错误(缺少运算符)

Excel 匹配,索引 VLOOKUP 多个条件