Сохранить файл, который по умолчанию имеет расширение TXT при сохранении, как CSV - PullRequest
0 голосов
/ 04 октября 2019

Как сохранить файл, в котором расширение говорит csv, но на самом деле это текстовый файл (это проблема 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 с разделителями-запятыми.

Если я открываю файл вручную и сохраняю файл, по умолчанию используется расширение .txt, даже если в имени файла указано .csv.

Несмотря на то, что мы можем скопировать его с расширением CSV, это вызывает проблемы в восходящем потоке, требующие, чтобы кто-то сохранил его как разделенный запятой .csv.

Я думал кратко открыть его в Блокноте и сохранить его с помощью csv (запятая). расширение с разделителями), так как он хочет по умолчанию расширение * .txt.

Вот проблема, которая вызывает проблему (однако в настоящее время нет ресурсов для ее решения) https://www.ibm.com/support/pages/how-modify-csv-file-format-cognos

1 Ответ

0 голосов
/ 04 октября 2019
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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...