如何将扩展名为csv但实际上是txt文件(这是Cognos问题)的文件保存为真正的csv文件?
This file: H:\TEST_DROP\Files\abc.csv (actually Unicode Text)
Resaved as: H:\TEST_DROP\Files\abc.csv (save as CSV comma delimited)
当前以这种方式进行:
olMail.Attachments.Item(j).SaveAsFile strFolder & olMail.Attachments.Item(j).FileName
将按原样复制文件。需要将其更改为真正的CSV逗号分隔。
如果我手动打开文件并保存文件,即使文件名中出现.csv,它的默认扩展名为.txt。
即使我们可以使用CSV扩展名将其复制过来,它也会导致上游出现问题,需要有人将其重新保存为.csv逗号分隔。
我的想法是在记事本中短暂打开它,并使用csv(逗号分隔)扩展名重新保存它,因为它想要默认为* .txt扩展名。
这是引发问题的问题(但是目前没有资源可解决)https://www.ibm.com/support/pages/how-modify-csv-file-format-cognos
答案 0 :(得分:0)
olMail.Attachments.Item(j).SaveAsFile strFolder & olMail.Attachments.Item(j).FileName
.FileName
包含文件扩展名;您想要剥离它,并执行此操作,可以使用简单的字符串操作功能:
Dim originalName As String
originalName = olMail.Attachments.Item(j).FileName
Dim strippedName As String
stripppedName = Left$(originalName, InStrRev(originalName, ".") - 1)
或者,您可以使用FileSystemObject
(引用Scripting
库); GetBaseName
函数采用路径/文件名并返回去除其文件扩展名的文件名:
Dim originalName As String
originalName = olMail.Attachments.Item(j).FileName
With New FileSystemObject
Dim strippedName As String
strippedName = .GetBaseName(originalName)
End With
Dim renamed As String
renamed = strippedName & ".csv"