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

Вход

Регистрация

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

 

= Мир MS Excel/Экспорт данных из Excel в txt - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Экспорт данных из Excel в txt
A_3485 Дата: Вторник, 06.05.2014, 12:17 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 0 ±
Замечаний: 40% ±

2007
Уважаемы формучане добрый день!
Помогите пожалуйста разобраться с макросом экспорта содержимого Лист1 в файл txt.
Из блуждания по сети нашел код и попробовал его применить к моим данным:

[vba]
Код
Sub Экспорт_данных()
     Dim lngRow As Long
       
     ' Открываем файл для сохранения
     Open "C:\данные.txt" For Output As #1
     ' Записываем выделенную части таблицы в файл (построчно)
     For lngRow = 1 To 3
        ' Записываем содержимое всех столбцов строки lngRow
        For intCol = 1 To 1   
Write #1, Selection.Cells(lngRow, 1).Value & "        " & Selection.Cells(lngRow, 2).Value & "      " & Selection.Cells(lngRow, 3).Value & "   "; Selection.Cells(lngRow, 4).Value;
                
        Next intCol
        ' следующая строка
        s = ""
        Print #1, s
               
     Next lngRow
     ' закрываем
     Close #1
End Sub
[/vba]

Итог работы получается совсем не тот что мне нужен. Я пытаюсь в файле данные.txt получить следующее:
1. Вторая колонка (Лист1) должна начинаться с 16 символа;
2. Третья колона (Лист1)с 35;
3. Четвертая (Лист1) с 55;
5. Никаких симолов (", ....) в файле быть не должно.

Помогите пожалуйста
К сообщению приложен файл: 2679894.xls (29.5 Kb) · 7011037.txt (0.1 Kb)


Сообщение отредактировал A_3485 - Вторник, 06.05.2014, 12:31
 
Ответить
СообщениеУважаемы формучане добрый день!
Помогите пожалуйста разобраться с макросом экспорта содержимого Лист1 в файл txt.
Из блуждания по сети нашел код и попробовал его применить к моим данным:

[vba]
Код
Sub Экспорт_данных()
     Dim lngRow As Long
       
     ' Открываем файл для сохранения
     Open "C:\данные.txt" For Output As #1
     ' Записываем выделенную части таблицы в файл (построчно)
     For lngRow = 1 To 3
        ' Записываем содержимое всех столбцов строки lngRow
        For intCol = 1 To 1   
Write #1, Selection.Cells(lngRow, 1).Value & "        " & Selection.Cells(lngRow, 2).Value & "      " & Selection.Cells(lngRow, 3).Value & "   "; Selection.Cells(lngRow, 4).Value;
                
        Next intCol
        ' следующая строка
        s = ""
        Print #1, s
               
     Next lngRow
     ' закрываем
     Close #1
End Sub
[/vba]

Итог работы получается совсем не тот что мне нужен. Я пытаюсь в файле данные.txt получить следующее:
1. Вторая колонка (Лист1) должна начинаться с 16 символа;
2. Третья колона (Лист1)с 35;
3. Четвертая (Лист1) с 55;
5. Никаких симолов (", ....) в файле быть не должно.

Помогите пожалуйста

Автор - A_3485
Дата добавления - 06.05.2014 в 12:17
RAN Дата: Вторник, 06.05.2014, 12:44 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub qq()
      a = Cells(1, 1).Value & String$(15 - Len(Cells(1, 1).Value), " ") & _
          Cells(1, 2).Value & String$(14 - Len(Cells(1, 2).Value), " ") & _
          Cells(1, 3).Value & String$(20 - Len(Cells(1, 3).Value), " ") & _
          Cells(1, 4).Value
      Debug.Print a
End Sub
[/vba]

0000000001 -10000 0 SEL

Сожранные пробелы заменил звездочкой
0000000001*****-10000********0*******************SEL


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 06.05.2014, 12:46
 
Ответить
Сообщение[vba]
Код
Sub qq()
      a = Cells(1, 1).Value & String$(15 - Len(Cells(1, 1).Value), " ") & _
          Cells(1, 2).Value & String$(14 - Len(Cells(1, 2).Value), " ") & _
          Cells(1, 3).Value & String$(20 - Len(Cells(1, 3).Value), " ") & _
          Cells(1, 4).Value
      Debug.Print a
End Sub
[/vba]

0000000001 -10000 0 SEL

Сожранные пробелы заменил звездочкой
0000000001*****-10000********0*******************SEL

Автор - RAN
Дата добавления - 06.05.2014 в 12:44
A_3485 Дата: Вторник, 06.05.2014, 14:05 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 0 ±
Замечаний: 40% ±

2007
Заменил на свои данные. Ничего не получилось:

[vba]
Код
Sub Экспорт_данных()
       Dim lngRow As Long
          
       ' Открываем файл для сохранения
       Open "C:\данные.txt" For Output As #1
       ' Записываем выделенную части таблицы в файл (построчно)
       For lngRow = 1 To 3
          a = Cells(lngRow, 1).Value & String$(15 - Len(Cells(1, 1).Value), " ") & _
           Cells(lngRow, 2).Value & String$(14 - Len(Cells(1, 2).Value), " ") & _
           Cells(lngRow, 3).Value & String$(20 - Len(Cells(1, 3).Value), " ") & _
           Cells(lngRow, 4).Value
            
        Write #1, a        
            
           Debug.Print a     
                    
                        
       Next lngRow
       ' закрываем
       Close #1
End Sub
[/vba]


Сообщение отредактировал A_3485 - Вторник, 06.05.2014, 14:06
 
Ответить
СообщениеЗаменил на свои данные. Ничего не получилось:

[vba]
Код
Sub Экспорт_данных()
       Dim lngRow As Long
          
       ' Открываем файл для сохранения
       Open "C:\данные.txt" For Output As #1
       ' Записываем выделенную части таблицы в файл (построчно)
       For lngRow = 1 To 3
          a = Cells(lngRow, 1).Value & String$(15 - Len(Cells(1, 1).Value), " ") & _
           Cells(lngRow, 2).Value & String$(14 - Len(Cells(1, 2).Value), " ") & _
           Cells(lngRow, 3).Value & String$(20 - Len(Cells(1, 3).Value), " ") & _
           Cells(lngRow, 4).Value
            
        Write #1, a        
            
           Debug.Print a     
                    
                        
       Next lngRow
       ' закрываем
       Close #1
End Sub
[/vba]

Автор - A_3485
Дата добавления - 06.05.2014 в 14:05
RAN Дата: Среда, 07.05.2014, 16:52 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Охо-хох!
[vba]
Код
Sub Экспорт_данных()
      Dim lngRow As Long
            
      ' Открываем файл для сохранения
      Open "C:\данные.txt" For Output As #1
      ' Записываем выделенную части таблицы в файл (построчно)
      For lngRow = 1 To 3
          a = Cells(lngRow, 1).Value & String$(15 - Len(Cells(lngRow, 1).Value), " ") & _
          Cells(lngRow, 2).Value & String$(14 - Len(Cells(lngRow, 2).Value), " ") & _
          Cells(lngRow, 3).Value & String$(20 - Len(Cells(lngRow, 3).Value), " ") & _
          Cells(lngRow, 4).Value
                
          Print #1, a          
                
          'Debug.Print a      не отличие, просто не нужно
                          
      Next lngRow
      ' закрываем
      Close #1
End Sub
[/vba]

Называется - найди два отличия


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Среда, 07.05.2014, 17:04
 
Ответить
СообщениеОхо-хох!
[vba]
Код
Sub Экспорт_данных()
      Dim lngRow As Long
            
      ' Открываем файл для сохранения
      Open "C:\данные.txt" For Output As #1
      ' Записываем выделенную части таблицы в файл (построчно)
      For lngRow = 1 To 3
          a = Cells(lngRow, 1).Value & String$(15 - Len(Cells(lngRow, 1).Value), " ") & _
          Cells(lngRow, 2).Value & String$(14 - Len(Cells(lngRow, 2).Value), " ") & _
          Cells(lngRow, 3).Value & String$(20 - Len(Cells(lngRow, 3).Value), " ") & _
          Cells(lngRow, 4).Value
                
          Print #1, a          
                
          'Debug.Print a      не отличие, просто не нужно
                          
      Next lngRow
      ' закрываем
      Close #1
End Sub
[/vba]

Называется - найди два отличия

Автор - RAN
Дата добавления - 07.05.2014 в 16:52
A_3485 Дата: Среда, 07.05.2014, 17:54 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 0 ±
Замечаний: 40% ±

2007
Огромное СПАСИБО.
 
Ответить
СообщениеОгромное СПАСИБО.

Автор - A_3485
Дата добавления - 07.05.2014 в 17:54
  • Страница 1 из 1
  • 1
Поиск:

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