Страницы: 1
RSS
Экспорт Range в txt
 
Добрый день.  
Возникла проблема.  
Надо экспортировать из экселя определенный range в текстовый файл.  
 
Но не знаю, как это реализовать.  
Подскажите, плз, в какую сторону копать?
 
Из справки ВБА  
Open "TESTFILE" For Output As #1    ' Open file for output.  
Write #1, "Hello World", 234    ' Write comma-delimited data.  
Write #1,    ' Write blank line.  
 
Dim MyBool, MyDate, MyNull, MyError  
' Assign Boolean, Date, Null, and Error values.  
MyBool = False : MyDate = #February 12, 1969# : MyNull = Null  
MyError = CVErr(32767)  
' Boolean data is written as #TRUE# or #FALSE#. Date literals are    
' written in universal date format, for example, #1994-07-13#    
'represents July 13, 1994. Null data is written as #NULL#.    
' Error data is written as #ERROR errorcode#.  
Write #1, MyBool ; " is a Boolean value"  
Write #1, MyDate ; " is a date"  
Write #1, MyNull ; " is a null value"  
Write #1, MyError ; " is an error value"  
Close #1    ' Close file.
Я сам - дурнее всякого примера! ...
 
Посмотрите здесь: http://excelvba.ru/Addins.html  
Вам подойдёт макрос "Создание Текстовых Файлов"  
 
 
 
вот кусок нужного вам кода (2 основные функции)  
 
 
Public Const Разделитель = " "  
 
Function ТекстДиапазона(ByRef ra As Range) As String  
   On Error Resume Next  
   For Each cell In Intersect(ra, ra.Worksheet.UsedRange)  
       ТекстДиапазона = ТекстДиапазона & Разделитель & cell  
   Next cell  
   ТекстДиапазона = WorksheetFunction.Trim(ТекстДиапазона)  
   ТекстДиапазона = Replace(ТекстДиапазона, vbLf, " ")  
End Function  
 
Sub СохранитьТекстовыйФайл(ByVal txt As String, ByVal filename As String)  
   On Error Resume Next: Set fso = CreateObject("scripting.filesystemobject")  
   Set ts = fso.CreateTextFile(filename, True)  
   ts.Write txt: ts.Close: Set ts = Nothing: Set fso = Nothing  
End Sub
Страницы: 1
Читают тему
Наверх
Loading...