- 締切済み
テキストファイルを分割したいんです。
すごい長文のテキストファイルがあるんですけど、これを1000文字に分割して複数のファイルを作りたいんです。 べつに携帯にメールを送る為じゃなくて、ただ分割したいだけなんですけど、そんなソフトってあるんでしょうか・・・?
- みんなの回答 (14)
- 専門家の回答
みんなの回答
- marbin
- ベストアンサー率27% (636/2290)
#2です。 デスクトップにファイルを書き出しますので、 文字数が多いファイルを分割したらデスクトップ がうざったくなります。 フォルダを生成し、フォルダの中にテキストファ イルを書き出すようにしてもいいかもしれません。
- imogasi
- ベストアンサー率27% (4737/17069)
ソフトを探さなくても、場合によっては、簡単なプログラムでできるので、エクセルVBAで誰か回答をで作ってくれますよ。エクセルがあるという条件で。 ただし「分割して複数のファイル」の意味が不明。どういう風にするのか。 「長文のテキストファイルがあるんですけど」のレコードの長さが、可変長なのかどうか、で難しさが影響する。レコードといっても判らないかな。 手元に実データがない以上、テストが難しいので答えも上げにくい。 例えばメモ帳かワードパッドでそのファイルは読め(表示でき)ますか。 どんな風になりますか。 復帰改行までが1レコードなんですが。 機械的に1000文字できるのかどうか。 目的や用途は。
- marbin
- ベストアンサー率27% (636/2290)
エクセル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)
ファイル分割ツールは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)テキストの行数で分割できます
- 1
- 2