Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Убрать ; в строках txt файла при сохранении из xls - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Убрать ; в строках txt файла при сохранении из xls (Макросы/Sub)
Убрать ; в строках txt файла при сохранении из xls
Anton2201 Дата: Пятница, 15.03.2019, 01:47 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Ситуация следующая пишу макрос что бы один txt файл данных преобразовать в другой txt, но с немного другим форматом.
Получается что сначала txt открывается в Excel, а потом после обработки сохраняется в txt. И всё бы ничего, но при сохранении у меня в каждой строке перед данными проставляется ";"
Как сделать так что бы этих ";" не было в финальном txt файле?
 
Ответить
СообщениеСитуация следующая пишу макрос что бы один txt файл данных преобразовать в другой txt, но с немного другим форматом.
Получается что сначала txt открывается в Excel, а потом после обработки сохраняется в txt. И всё бы ничего, но при сохранении у меня в каждой строке перед данными проставляется ";"
Как сделать так что бы этих ";" не было в финальном txt файле?

Автор - Anton2201
Дата добавления - 15.03.2019 в 01:47
krosav4ig Дата: Пятница, 15.03.2019, 02:18 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Anton2201, и вам здрасьте
Как сделать так что бы этих ";" не было в финальном txt файле?
написать правильный макрос, а можно вообще без макроса обойтись (но это не точно)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеAnton2201, и вам здрасьте
Как сделать так что бы этих ";" не было в финальном txt файле?
написать правильный макрос, а можно вообще без макроса обойтись (но это не точно)

Автор - krosav4ig
Дата добавления - 15.03.2019 в 02:18
Anton2201 Дата: Пятница, 15.03.2019, 02:29 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
krosav4ig, в том то и дело что самоучка... леплю из разных макросов один...

Видимо вот тут что-то не так и получается что каждая строчка в txt файле начинается с знака ";"
Dim x, y(), j&, s$
x = ActiveSheet.UsedRange.Value
If IsArray(x) Then
ReDim y(1 To UBound(x))
For i = 1 To UBound(x)
For j = 1 To UBound(x, 2)
y(i) = y(i) & ";" & x(i, j)
Next j
Next i: s = Join(y, vbCrLf)
Else
s = x
End If
With CreateObject("scripting.filesystemobject")
With .CreateTextFile(ThisWorkbook.Path & "\ThisWorkbook.Name.txt", True)
.Write s: .Close
End With
 
Ответить
Сообщениеkrosav4ig, в том то и дело что самоучка... леплю из разных макросов один...

Видимо вот тут что-то не так и получается что каждая строчка в txt файле начинается с знака ";"
Dim x, y(), j&, s$
x = ActiveSheet.UsedRange.Value
If IsArray(x) Then
ReDim y(1 To UBound(x))
For i = 1 To UBound(x)
For j = 1 To UBound(x, 2)
y(i) = y(i) & ";" & x(i, j)
Next j
Next i: s = Join(y, vbCrLf)
Else
s = x
End If
With CreateObject("scripting.filesystemobject")
With .CreateTextFile(ThisWorkbook.Path & "\ThisWorkbook.Name.txt", True)
.Write s: .Close
End With

Автор - Anton2201
Дата добавления - 15.03.2019 в 02:29
Anchoret Дата: Пятница, 15.03.2019, 05:46 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Переставьте местами [vba]
Код
& x(i, j) & ";"
[/vba]
Либо еще вариант для записи в текстовый файл:
[vba]
Код
Sub aaa()
Dim x, i&, j&, s$
x = ActiveSheet.UsedRange.Value
Open ThisWorkbook.Path & "\ThisWorkbook.Name.txt" For Output As #1
If IsArray(x) Then
  For i = 1 To UBound(x): s = vbNullString
    For j = 1 To UBound(x, 2)
      s = s & x(i, j) & ";"
    Next j
    Print #1, Left$(s, Len(s) - 1)
  Next i
Else: Print #1, x
End If
Close #1
End Sub
[/vba]
 
Ответить
СообщениеПереставьте местами [vba]
Код
& x(i, j) & ";"
[/vba]
Либо еще вариант для записи в текстовый файл:
[vba]
Код
Sub aaa()
Dim x, i&, j&, s$
x = ActiveSheet.UsedRange.Value
Open ThisWorkbook.Path & "\ThisWorkbook.Name.txt" For Output As #1
If IsArray(x) Then
  For i = 1 To UBound(x): s = vbNullString
    For j = 1 To UBound(x, 2)
      s = s & x(i, j) & ";"
    Next j
    Print #1, Left$(s, Len(s) - 1)
  Next i
Else: Print #1, x
End If
Close #1
End Sub
[/vba]

Автор - Anchoret
Дата добавления - 15.03.2019 в 05:46
китин Дата: Пятница, 15.03.2019, 07:26 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 7015
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Anton2201, оформите свой пост в соответствии в п3 Правил форума в части оформления кода. пояснялка тут


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеAnton2201, оформите свой пост в соответствии в п3 Правил форума в части оформления кода. пояснялка тут

Автор - китин
Дата добавления - 15.03.2019 в 07:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Убрать ; в строках txt файла при сохранении из xls (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!