Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / экспорт данных из Excel в текстовый файл / 10 сообщений из 10, страница 1 из 1
19.10.2010, 11:51
    #36907088
MDmitryB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт данных из Excel в текстовый файл
экспортируются не все строки (только 236).
Как решить проблему

Код:
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
Public Sub ExportToTextFile(FName As String, _
    Sep As String)

    Dim WholeLine As String
    Dim FNum As Integer
    Dim RowNdx As Long
    Dim ColNdx As Integer
    Dim StartRow As Long
    Dim EndRow As Long
    Dim StartCol As Integer
    Dim EndCol As Integer
    Dim CellValue As String


    Application.ScreenUpdating = False
    On Error GoTo EndMacro:
    FNum = FreeFile
    
    With Sheets( 1 )
        StartRow =  6 
        StartCol =  5 
        EndRow = .Columns( 5 ).Rows("3000").End(xlUp).row
        EndCol =  25 
    End With
        
    Open FName For Output Access Write As #FNum
    
    For RowNdx = StartRow To EndRow
        WholeLine = ""
        For ColNdx = StartCol To EndCol
            If Sheets( 1 ).Cells(RowNdx, ColNdx).Value = "" Then
                CellValue = Chr( 34 ) & Chr( 34 )
            Else
                CellValue = Sheets( 1 ).Cells(RowNdx, ColNdx).Value
            End If
            WholeLine = WholeLine & CellValue & Sep
        Next ColNdx
        WholeLine = Left(WholeLine, Len(WholeLine) - Len(Sep))
        Print #FNum, WholeLine
    Next RowNdx
    
EndMacro:
    On Error GoTo  0 
    Application.ScreenUpdating = True
    Close #FNum

End Sub
...
Рейтинг: 0 / 0
19.10.2010, 12:05
    #36907140
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт данных из Excel в текстовый файл
MDmitryB,

Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
sub mm()
 ExportToTextFile "c:\00.txt",",", 236 
end sub

Public Sub ExportToTextFile(FName As String, _
    Sep As String,kstrok as long)

    dim ks as long

    Dim WholeLine As String
    Dim FNum As Integer
    Dim RowNdx As Long
    Dim ColNdx As Integer
    Dim StartRow As Long
    Dim EndRow As Long
    Dim StartCol As Integer
    Dim EndCol As Integer
    Dim CellValue As String


    Application.ScreenUpdating = False
    On Error GoTo EndMacro:
    FNum = FreeFile
    
    With Sheets( 1 )
        StartRow =  6 
        StartCol =  5 
        EndRow = .Columns( 5 ).Rows("3000").End(xlUp).row
        EndCol =  25 
    End With
        
    Open FName For Output Access Write As #FNum
    
    For RowNdx = StartRow To EndRow
        WholeLine = ""
        For ColNdx = StartCol To EndCol
            If Sheets( 1 ).Cells(RowNdx, ColNdx).Value = "" Then
                CellValue = Chr( 34 ) & Chr( 34 )
            Else
                CellValue = Sheets( 1 ).Cells(RowNdx, ColNdx).Value
            End If
            WholeLine = WholeLine & CellValue & Sep
        Next ColNdx
        WholeLine = Left(WholeLine, Len(WholeLine) - Len(Sep))
        Print #FNum, WholeLine
'''''''''''''''''''''''''''''''''''''''''''''''
      ks=ks+ 1 
if ks>kstrok then
      exit for
endif
''''''''''''''''''''''''''''''''''''''''''''''''
    Next RowNdx
    
EndMacro:
    On Error GoTo  0 
    Application.ScreenUpdating = True
    Close #FNum

End Sub
...
Рейтинг: 0 / 0
19.10.2010, 12:12
    #36907167
MDmitryB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт данных из Excel в текстовый файл
ПЕНСИОНЕРКА,

Вы мне предлагаете прекратить запись в файл, когда 236 строк запишутся? Вы наверно не поняли вопрос.

Более точный вопрос:
Как побороть ограничение размера текстового файла (64 КБ) при записи?
...
Рейтинг: 0 / 0
19.10.2010, 12:35
    #36907220
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт данных из Excel в текстовый файл
MDmitryBэкспортируются не все строки (только 236).
Как решить проблему
[/src]

On Error GoTo EndMacro

временно уберите эту строку(коммент)

похоже у вас ошибка в программе
...
Рейтинг: 0 / 0
19.10.2010, 13:00
    #36907299
MDmitryB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт данных из Excel в текстовый файл
ПЕНСИОНЕРКА,

да, Вы правы - выскакивала ошибка Overflow - в некоторых ячейках были решетки вместо значений.
Спасибо за помощь!
...
Рейтинг: 0 / 0
20.10.2010, 10:15
    #36908941
Pavel Berezin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт данных из Excel в текстовый файл
громоздкий алгоритм имхо. А почему не пользуете сохранение листа как текстовый файл? Тожесамое выйдет, только быстрее в разы.
...
Рейтинг: 0 / 0
20.10.2010, 10:20
    #36908953
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт данных из Excel в текстовый файл
А там свой формат выдачи, судя по всему - кавычки как пустые строки, нестандартный разделитель полей...
Хотя обычно принято использовать стандартизованные форматы обмена.
...
Рейтинг: 0 / 0
20.10.2010, 10:54
    #36909008
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт данных из Excel в текстовый файл
MDmitryB,

часто использовала
-первую строку для задания порядка выбора
-вторую для фильтра
...
Рейтинг: 0 / 0
20.10.2010, 17:39
    #36910212
Весельчак
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт данных из Excel в текстовый файл
замените
EndRow = .Columns(5).Rows("3000").End(xlUp).row
на
EndRow = .Columns(5).Rows(.Rows.Count).End(xlUp).row
...
Рейтинг: 0 / 0
22.10.2010, 17:17
    #36915166
Pavel Berezin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт данных из Excel в текстовый файл
судя по тексту там классический CSV.
Только там автор помоему не учёл случай, когда значение ячейки является текстом, содержащим кавычки - их толи задваивать надо (в каноническом CSV-формате) толи на апосторфы заменять.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / экспорт данных из Excel в текстовый файл / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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