1

Excel に 450 行ほどのソース スプレッドシートがあります。各行には 6 列のデータがあり、ファイル名 = 列 A と内容 = 列 BG の間に改行を入れて、各行から個別のファイルを作成する必要があります。

たとえば、これを試していますが、「ファイルが見つかりません」というエラーが表示されます。

Sub DataDump()

Dim X
Dim lngRow As Long
Dim StrFolder As String

StrFolder = "/Users/danielfowler/Documents/_users_text_6.16"
X = Range([a1], Cells(Rows.Count, 2).End(xlUp))
For lngRow = 1 To UBound(X)
  Open StrFolder & "\" & X(lngRow, 1) & ".txt" For Output As #1
  Write #1, X(lngRow, 2)
  Close #1
Next
End Sub

StackOverflow では、すでにこのような質問が半ダースあります...

しかし、これらのソリューションはそれぞれ異なるエラーを返します。Excel for Mac 2011、v14.4.2 を使用しています。

4

2 に答える 2

0
Sub VBA_Print_to_a_text_file()
    Dim strFile_Path As String
    strFile_Path = "C:\temp\test.txt" ‘Change as per your test folder path
    Open strFile_Path For Output As #1
    Print #1, "This is my sample text"
    Close #1
End Sub 
于 2015-06-18T19:36:46.017 に答える
0

これにより、列 A をタイトルとし、列 B から最後の列までを各ファイルのコンテンツとして、行ごとにテキスト ファイルが出力されます。ディレクトリは任意に変更できますが、現在はテキスト ファイルが Excel ファイルと同じディレクトリに保存されます。ファイル拡張子を任意のものに変更することもできます。

Sub toFile()

    Dim FilePath As String, CellData As String, LastCol As Long, LastRow As Long
    Dim Filenum As Integer

    LastCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
    LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

    For i = 1 To LastRow
        FilePath = Application.DefaultFilePath & "\" & Trim(ActiveSheet.Cells(i, 1).Value) & ".xpd"
        Filenum = FreeFile

        Open FilePath For Output As Filenum
        CellData = ""

        For j = 2 To LastCol
        CellData = Trim(ActiveSheet.Cells(i, j).Value)
        Write #Filenum, CellData

        Next j

        Close #Filenum

    Next i
    MsgBox ("Done")
End Sub

各行間の区切りについては、残念ながら私はその方法を知るのに十分な経験がありません.

于 2016-01-14T01:23:26.550 に答える