![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.10.2010
Сообщений: 66
|
![]()
подскажите пожалуйста как из excel экспортировать в текстовые файлы каждый лист книги с именами 1.txt,2.txt и т.д. очень много листов
SaveTXTfile "c:\install\tanya\1.txt", Range("a10:a34) это не работает Function SaveTXTfile(ByVal filename As String, ByVal txt As String) As Boolean On Error Resume Next: Err.Clear Set fso = CreateObject("scripting.filesystemo bject") Set ts = fso.CreateTextFile(filename, True) ts.Write txt: ts.Close SaveTXTfile = Err = 0 Set ts = Nothing: Set fso = Nothing End Function |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Используем эту функцию: http://excelvba.ru/code/Range2TXT
Код будет выглядеть так: SaveTXTfile "c:\install\tanya\1.txt", Range2TXT(Range("a10:a34"), "; ", vbLf) Есть вариант попроще: 1) перебираем все листы в цикле Код:
3) сохраняем эту книгу в формате txt activeworkbook.saveas ... 4) закрываем книгу: activeworkbook.close false |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 12.10.2010
Сообщений: 66
|
![]()
спасибо большое только вот с файлами не получается сохранить их как 1.txt,2.txt,3.txt
Sub EachSheet() For Each sh In ThisWorkbook.Worksheets Dim sh1 As Worksheet: Set sh1 = Workbooks.Add.Worksheets(1) sh1.Range("A10:B34").Value = sh.Range("A10:B34").Value n = n + 1 SaveTXTfile "c:\install\tanya\n.txt", Range2TXT(Range("a10:a34"), "; ", vbLf) ActiveWorkbook.Close False Next sh End Sub |
![]() |
![]() |
![]() |
#4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
А если так попробовать?
Код:
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 12.10.2010
Сообщений: 66
|
![]()
сделала так, но вустраивает больше ваш вариант, спасибо большое
Sub EachSheet() For Each sh In ThisWorkbook.Worksheets Dim sh1 As Worksheet: Set sh1 = Workbooks.Add.Worksheets(1) sh1.Range("A10:B34").Value = sh.Range("A10:B34").Value ActiveWorkbook.SaveAs FileFormat:= _ xlCSV, CreateBackup:=False ActiveWorkbook.Close False Next sh End Sub |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Текстовые файлы C++ :( | DragoonSki | Помощь студентам | 0 | 29.05.2010 14:24 |
Как средствами VBA экспортировать данные из Excel в Word? | Pavel_Ine | Microsoft Office Excel | 3 | 20.04.2009 14:14 |
Экспортировать TStringGrid в Excel-файл | SeЯgey | Помощь студентам | 2 | 30.04.2008 15:21 |