VBS — как создать скрипт для конвертирования CSV в TXT?

Добрый день, ранее я использовал скрипт для конвертирования xls в txt с разделителями табуляции:

Set objArgs = WScript.Arguments
InputName = objArgs(0)
OutputName = objArgs(1)
Set objExcel = CreateObject("Excel.application")
objExcel.application.visible=false
objExcel.application.displayalerts=false
set objExcelBook = objExcel.Workbooks.Open(InputName)
objExcelBook.SaveAs OutputName, -4158
objExcel.Application.Quit
objExcel.Quit

Но теперь необходимо делать то же, но из CSV.

Насколько я понимаю, он должен сохранять в нужный мне формат если использовать -4158 или 20. Но и в том и другом случае, если исходный файл csv, скрипт сохраняет txt с разделителями ;
  • Вопрос задан
  • 3376 просмотров
Решения вопроса 1
@SashaSkot
Специалист широкого профиля
Const OpenAsDefault = -2
Const FailIfNotExist = 0
Const ForReading = 1
Const ForWriting = 2

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set fCSVFile = _
oFSO.OpenTextFile("C:\path\file.csv", ForReading, FailIfNotExist, OpenAsDefault)

sFileContents = fCSVFile.ReadAll
fCSVFile.Close
sFileContents = Replace(sFileContents, ";",vbTab))

Set fCSVFile = oFSO.OpenTextFile("C:\path\file.csv", ForWriting, True)
fCSVFile.Write(sFileContents)
fCSVFile.Close

Вообще разделители используется из настроек Региона и языка системы. Попробуйте заменить ; на табуляцию и запустите ваш скрипт.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы