Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

XLS в TXT

Автор destic, 26.06.2012, 00:15

« назад - далее »

destic

Доброй ночи! Посоветуйте программу, которая может из таблицы в ексель сделать табицу в txt файле, сохраняя расположение колонок, например пробелами, которые можно изменить на любой символ, чтобы в txt выгружала к примеру так:
Доход...................Расход...............Прибыль
50000 рублей........5000 рублей........45000 рублей

а не так:
Доход Расход Прибыль
50000 рублей 5000 рублей 45000 рублей

Prist

#1
Я бы так сделал:
Sub One_len_for_All()
Dim avArr(), lr As Long, lc As Long, lLen()
Dim objFSO As Object, objTXT As Object, sTXT As String
   avArr = ActiveSheet.UsedRange.Value
   ReDim lLen(1 To UBound(avArr, 2))
   For lc = 1 To UBound(avArr, 2)
       lLen(lc) = 0
       For lr = 1 To UBound(avArr, 1)
           If Len(avArr(lr, lc)) > lLen(lc) Then lLen(lc) = Len(avArr(lr, lc))
       Next lr
   Next lc
 
   Set objFSO = CreateObject("Scripting.FileSystemObject")
   Set objTXT = objFSO.CreateTextFile(ActiveWorkbook.Path & "\Text1.txt", True)
   For lr = 1 To UBound(avArr, 1)
       For lc = 1 To UBound(avArr, 2)
           sTXT = sTXT & avArr(lr, lc) & Space(lLen(lc) - Len(avArr(lr, lc)) + 1)
       Next lc
       objTXT.WriteLine sTXT
       sTXT = ""
   Next lr
   objTXT.Close
End Sub

Просто запускаете с того листа, с которого данные надо в текстовый файл сохранить. Сам текстовый файл сохраняется в папке с активной книгой. Имя файла - Text1.txt
Чтобы увеличить интервал между "столбцами" нужно вместо  "+ 1" указать нужное кол-во пробелов.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453

IKor

Я могу предложить воспользоваться дополнительными столбцами и встроенными функциями MSExcel для преобразования нескольких колонок в одну по заданному формату. Затем нужно будет скопировать и вставить на новое место результат как_текст. В дальнейшем его можно будет экспортировать в TXT так как Вы и хотели...