Zapis tablicy do pliku txt   strona główna:
A po co ten Excel ;-)
 
 
Kolejnym sposobem realizacji zadanie jest wykorzystanie metody OpenTextFile zdefiniowanej w bibliotece Scripting Runtime.   OpenTextFile Method
Metoda ta umożliwia zarówno zapis jak i odczyt pliku. Opis metody, jej argumentów i przykłady ------------------------>> :-)   File access with Microsoft Scripting Runtime 
 
Sub Tbl2TXT_FSO(vDane As Variant, _  
                strTXTFileFullName As String)  
 
    Dim objFSO As Object ' Scripting.FileSystemObject  
    Dim objStream As Object ' Scripting.TextStream  
    Const ForWriting = 2  
      
    Dim tbl As Variant  
    Dim i As Long, j As Integer  
    Dim strLine As String  
    Const strSep As String = ","  
 
    tbl = vDane  
 
    Set objFSO = CreateObject("Scripting.FileSystemObject")  
    Set objStream = objFSO.OpenTextFile(Filename:=strTXTFileFullName, _  
                                        IOMode:=ForWriting, _  
                                        Create:=True)  
    With objStream  
        For i = LBound(tbl, 1) To UBound(tbl, 1)  
            For j = LBound(tbl, 2) To UBound(tbl, 2)  
                strLine = strLine & tbl(i, j) & strSep  
            Next  
            strLine = Left(strLine, Len(strLine) - Len(strSep))  
            .WriteLine Text:=strLine  
            strLine = vbNullString  
        Next  
        .Close  
    End With  
      
    Set objStream = Nothing  
    Set objFSO = Nothing  
End Sub  
 
 
Jeszcze tylko przykład użycia...  
 
Option Explicit  
 
Sub Start()  
    Dim strTXTFile As String  
    Dim xlWks As Excel.Worksheet, ostAD As Long  
      
    strTXTFile = ThisWorkbook.Path & "\temp.txt"  
      
    Set xlWks = ThisWorkbook.Worksheets("Arkusz1")  
    With xlWks  
        ostAD = Last(.Columns("A:D"))  
        If ostAD > 1 Then  
              
            '--------------sposób.2-------------  
            'Tbl2TXT_FSO .Range("C1:D" & ostAD), strTXTFile  
              
            MsgBox "Już :-)" & String(2, vbCrLf) & strTXTFile, vbInformation  
        End If  
    End With  
      
    Set xlWks = Nothing  
End Sub  
 
Function Last(rng As Excel.Range) As Long  
' wg. Ron de Bruin, 20 Feb 2007  
' http://www.rondebruin.nl/last.htm  
    On Error Resume Next  
    Last = rng.Find(What:="*", _  
                    After:=rng.Cells(1), _  
                    Lookat:=xlPart, _  
                    LookIn:=xlFormulas, _  
                    SearchOrder:=xlByRows, _  
                    SearchDirection:=xlPrevious, _  
                    MatchCase:=False).Row  
    On Error GoTo 0  
End Function  
 
 
Przykłady zastosowania na Excelforum:  
Zapis do pliku txt - edycja sposobu zapisu FSO.OpenTextFile