powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Проблема с макросом на сохранение
5 сообщений из 5, страница 1 из 1
Проблема с макросом на сохранение
    #34177561
dvarok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу никак побороть эксель, может кто поможет?
Необходимо написать макрос на сохранение файла. Когда сохраняю вручную в формат CSV, то все нормально, никаких лишних пробелов, разделитель ";". Но когда я делаю макрос на такое сохранение и выполняю его, то сохраняет с разделителями ",". Пытался написать макрос отдельный на сохранение (тут вычитал):

автор
Sub WriteFile()

ThisFile = ThisWorkbook.Path & Application.PathSeparator & "Results.txt"
' Удалить предыдущую версию файла
On Error Resume Next
Kill (ThisFile)
On Error GoTo 0
' Открыть файл
Open ThisFile For Output As #1
FinalRow = Range("A65536").End(xlUp).Row
' Записать файл
For j = 1 To FinalRow
Print #1, Cells(j, 1).Value; ";"; Cells(j, 2).Value; ";"; Cells(j, 3).Value; ";"; Cells(j, 4).Value; ";"; Cells(j, 5).Value; ";"; Cells(j, 6).Value; ";"; Cells(j, 7).Value; ";"; Cells(j, 8).Value; ";"; Cells(j, 9).Value; ";"; Cells(j, 10).Value; ";"; Cells(j, 11).Value; ";"; Cells(j, 12).Value; ";"; Cells(j, 13).Value; ";"; Cells(j, 14).Value; ";"; Cells(j, 15).Value; ";"; Cells(j, 16).Value; ";"; Cells(j, 17).Value; ";"; Cells(j, 18).Value
Next j
Close #1
MsgBox ThisFile & " completed."
End Sub

так он делает что-то странное, в некоторых местах пробелы лишние, в некоторых их нет, дату сохраняет криво.
Файл экселя прилагается
...
Рейтинг: 0 / 0
Проблема с макросом на сохранение
    #34177568
dvarok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То, что должно получиться в текстовике, прилагается в этом сообщении
...
Рейтинг: 0 / 0
Проблема с макросом на сохранение
    #34177870
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как в Excel
Код: plaintext
Sub WriteFile()\n\n    ThisFile = ThisWorkbook.Path & Application.PathSeparator & "Results.txt"\n    Set ExpRng = ActiveSheet.UsedRange\n    NumRow = ExpRng.Rows.Count\n    NumCol = ExpRng.Columns.Count\n    \' Открыть файл\n    Open ThisFile For Output As # 1 \n        For r =  1  To NumRow\n            Exsp = ExpRng.Cells(r,  1 ).Value\n            For c =  2  To NumCol\n                Exsp = Exsp & ";" & ExpRng.Cells(r, c).Value\n            Next c\n            Print # 1 , Exsp\n        Next r\n    Close # 1 \n    MsgBox ThisFile & " completed."\nEnd Sub

а это
Код: plaintext
    \' Удалить предыдущую версию файла\n    On Error Resume Next\n    Kill (ThisFile)\n    On Error GoTo  0 
лишнее, файл и так перезапишится
...
Рейтинг: 0 / 0
Проблема с макросом на сохранение
    #34177900
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Sub WriteFile()

    ThisFile = ThisWorkbook.Path & Application.PathSeparator & "Results.txt"
    ' Удалить предыдущую версию файла
    'On Error Resume Next
    'Kill (ThisFile)
    'On Error GoTo 0
    ' Открыть файл
    Set ExpRng = ActiveSheet.UsedRange
    NumRow = ExpRng.Rows.Count
    NumCol = ExpRng.Columns.Count
    Open ThisFile For Output As # 1 
        For r =  1  To NumRow
            Exsp = ExpRng.Cells(r,  1 ).Value
            For c =  2  To NumCol
                If IsDate(ExpRng.Cells(r, c).Value) Then
                    Exsp = Exsp & ";" & Format(ExpRng.Cells(r, c).Value, "YYYY-MM-DD")
                Else
                    Exsp = Exsp & ";" & ExpRng.Cells(r, c).Value
                End If
            Next c
            Print # 1 , Exsp
        Next r
    Close # 1 
    MsgBox ThisFile & " completed."
End Sub
подправил под твою дату
...
Рейтинг: 0 / 0
Проблема с макросом на сохранение
    #34177922
dvarok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, огромное!
С датой я в принципе по другому разобрался, сокращенный формат даты в винде поменял на такой что мне нужен. Но ваш вариант супер просто! Спасибо!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Проблема с макросом на сохранение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]