Запись данных из массива в файл *.csv - VBA
Формулировка задачи:
В процессе доработки макроса, вытягивающего из страницы excel номера телефонов столкнулся с проблемой. Все работает как задумывалось, в конце обработки макрос пишет в файл, НО(!) в конце файла *.csv (разделители: точка с запятой), ставится перенос строки. Программа, в которую загружается список телефонов из-за того переноса не может импортировать, выдавая ошибку. Может кто подсказать как избавиться от этого? P.S. в ячейке (3,1) содержится строка, в конце которой прописана дата отчета.
Листинг программы
- Sub Search()
- Dim i As Integer
- Dim r()
- Dim Filename as String
- Dim sh As Excel.Worksheet
- Set sh = ActiveWorkbook.Worksheets(1)
- Filename = "\\192.168.2.1\vba\за " & Right(sh.Cells(3, 1).text, 10) & ".csv"
- Open Filename For Output As #1
- For i = 1 To UBound(r)
- If r(i, 1) <> "" Then
- Print #1, r(i, 1) & ";" & r(i, 2)
- Else
- Exit For
- End If
- Next
- Close #1
- MsgBox ("файл сохранен: " & Filename)
- End Sub
Решение задачи: «Запись данных из массива в файл *.csv»
textual
Листинг программы
- Dim f As Boolean
- Open Filename For Output As #1
- For i = 1 To UBound(r)
- If r(i, 1) <> "" Then
- If f Then Print #1, 'не первая строка
- Print #1, r(i, 1) & ";" & r(i, 2);
- f = True
- Else
- Exit For
- End If
- Next
- Close #1
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д