我的小子应该打开原始数据文件(*.csv),以便稍后以某种方式转换它们:
Sub OpenRawData()
Dim wsraw As Worksheet
Dim rawdatafile As String
rawdatafile = Application.GetOpenFilename("Text Files (*.csv*),*.csv*")
Workbooks.OpenText Filename:=rawdatafile, Origin:=xlWindows, StartRow:=1, _
DataType:=xlDelimited, ConsecutiveDelimiter:=True, Semicolon:=True
Set wsraw = ActiveWorkbook.Sheets(1)
End Sub
原始数据来自不同的仪器(美国和德国)。 打开 USA 文件效果很好,如下所示: RawData2_USA -“A”列中的每一行
打开 GER 文件会显示以下内容: RawData1_GER - 自动使用逗号作为分隔符
在 Windows 编辑器中打开这两个文件如下所示: (编辑器中的原始数据)
如何防止 Excel 产生不同的输出? 或者如何确保无论打开哪个原始数据文件都能获得相同的输出?
我尝试了另一种方法:(Workbooks Open 而不是 Workbooks OpenText) 我尝试了不同的参数。无论我使用哪个分隔符,GER文件都使用逗号作为分隔符
原因可以在这里找到:如何将 Excel CSV 分隔符更改为逗号或分号。在那里您可以找到问题的解决方案。您可以强制特定的 Windows 计算机使用不同的分隔符,也可以更改程序以使用可出现在 CSV 文件中的所有分隔符。
该页面的引文:
Microsoft Excel 使用Windows 区域设置中定义的列表分隔符。 在北美和其他一些国家/地区,默认列表分隔符是逗号,因此您会得到以逗号分隔的 CSV。在欧洲国家,小数点符号保留逗号,列表分隔符一般设置为分号。这就是为什么结果是 CSV 分号分隔的原因。