• 締切済み

テキストファイルを分割したいんです。

すごい長文のテキストファイルがあるんですけど、これを1000文字に分割して複数のファイルを作りたいんです。 べつに携帯にメールを送る為じゃなくて、ただ分割したいだけなんですけど、そんなソフトってあるんでしょうか・・・?

みんなの回答

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.4

#2です。 デスクトップにファイルを書き出しますので、 文字数が多いファイルを分割したらデスクトップ がうざったくなります。 フォルダを生成し、フォルダの中にテキストファ イルを書き出すようにしてもいいかもしれません。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

ソフトを探さなくても、場合によっては、簡単なプログラムでできるので、エクセルVBAで誰か回答をで作ってくれますよ。エクセルがあるという条件で。 ただし「分割して複数のファイル」の意味が不明。どういう風にするのか。 「長文のテキストファイルがあるんですけど」のレコードの長さが、可変長なのかどうか、で難しさが影響する。レコードといっても判らないかな。 手元に実データがない以上、テストが難しいので答えも上げにくい。 例えばメモ帳かワードパッドでそのファイルは読め(表示でき)ますか。 どんな風になりますか。 復帰改行までが1レコードなんですが。 機械的に1000文字できるのかどうか。 目的や用途は。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

エクセルVBAです。1000文字以内で分割します。 1行単位で文字数カウントしますので、1ファイル の文字数には少しばらつきがでます。 Sub txtbunkatu() Dim txtmei As String Dim Newtxtmei As String Dim i As Long Dim j As Long Dim MyLen As Long Dim naiyou As String txtmei = Application.GetOpenFilename(Title:="テキストファイル") If txtmei = "False" Then Exit Sub Open txtmei For Input As #1 Do Until EOF(1) Input #1, dat i = i + 1 If MyLen + Len(dat) > 1001 Then j = j + 1 Newtxtmei = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & "Newtxt" & j & ".txt" If Dir(Newtxtmei) <> "" Then MsgBox "既に同名のファイルが存在します。" Exit Sub Else Open Newtxtmei For Output As #2 Print #2, naiyou; Close #2 naiyou = "" MyLen = 0 End If Else MyLen = MyLen + Len(dat) naiyou = naiyou & vbCrLf & dat End If Loop Close #1 End Sub

  • aizak
  • ベストアンサー率25% (15/58)
回答No.1

ファイル分割ツールはvectorに http://www.vector.co.jp/vpack/filearea/win/util/file/spl_mrg/ にあります ご要望だとファイルサイズ2kで分割すればいいのではないかと 使いやすいのを見つけてはどうでしょうか またdivだと(http://www.vector.co.jp/soft/win95/util/se088352.html)テキストの行数で分割できます

参考URL:
http://www.vector.co.jp/soft/win95/util/se088352.html

関連するQ&A

専門家に質問してみよう