
No.2ベストアンサー
- 回答日時:
'----------- ファイルシステムオブジェクト作成
Set objFso = CreateObject("Scripting.FileSystemobject")
'----------- 定数の作成
Const ForReading = 1 '読取フラグ
Const ForWriting = 2 '書込フラグ
Const ForAppending = 8 '追記フラグ
Const InsertLine = 2 '文字列の挿入行
Const InsertText = "Inserted!" '挿入する文字列
Const strPath = "test.txt" '処理するテキストファイルのパス
'----------- ファイルが存在することを確認
If objFso.FileExists(strPath) = False Then
MsgBox "指定のファイルがみつかりません"
WScript.Quit 'なければ終了
End If
'----------- テキストの行数を確認
Set objRead = objFso.OpenTextFile(strPath , ForReading) '読取モードでテキストを開く
objRead.ReadAll '全部読むことで最終行へ移動
intLine = objRead.Line '現在の行数を確認
objRead.Close '読取モード閉じる
'----------- テキストの挿入
If intLine <= InsertLine Then '挿入行がテキストの行数より大きいか、同じの場合
Set objAppending = objFso.OpenTextFile(strPath , ForAppending) '追記モードでテキストを開く
objAppending.WriteLine InsertText '挿入行の追記
objAppending.Close '追記モード閉じる
Else '挿入行がテキストの行数より小さい場合
Dim WritingText '書込用の文字列(省略可)
Set objRead2 = objFso.OpenTextFile(strPath , ForReading) '読取モードでテキストを開く
i = 1 '行数の確認用の数値
Do Until objRead2.AtEndOfStream = True '終了行まで繰り返し
If i = InsertLine Then '挿入行が来たら、文字列を挿入
WritingText = WritingText & InsertText & vbCrLf 'vbCrLfは改行コード
End If
WritingText = WritingText & objRead2.ReadLine & vbCrLf '1行読み取り、書込用の文字列に追加
i = i + 1 '読み取った行数を1増やす
Loop
objRead2.Close '読取モード閉じる
Set objWriting = objFso.OpenTextFile(strPath , ForWriting) '書込モードでテキストを開く
objWriting.Write WritingText '書込用の文字列値を一気に書込み
objWriting.Close '書込モード閉じる
End If
'----------- 完了メッセージ
MsgBox "挿入完了"
見やすくするため全角スペースを入れてあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルの行数を取得...
-
データ読み込みについて
-
バイナリファイルをテキストフ...
-
fgetsで2行目から文字化け
-
巨大なテキストファイル(可変...
-
続・EOF判定されない
-
ファイル内のデータを1行削除...
-
(UWSC)このような場合、解決策...
-
改行までの一文字ずつのファイ...
-
fscanfについて
-
UNIXシェルプログラム等からバ...
-
c言語 2つのファイルを行ご...
-
C++でのファイル読み書き
-
連続でファイル作成
-
int型の値をファイルに保存
-
ドラッグ&ドロップすると、今...
-
0バイトファイルの作成
-
EOF判定されない
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バイナリファイルをテキストフ...
-
テキストファイルの行数を取得...
-
ファイル内のデータを1行削除...
-
巨大なテキストファイル(可変...
-
複数テキストファイルを読み込...
-
fgetsで2行目から文字化け
-
【VB.Net】バイト型配列に読み...
-
改行までの一文字ずつのファイ...
-
C言語での改行コードの扱いにつ...
-
InternetReadFileで大きいファ...
-
C/C++ ファイル入出力操作 (長...
-
fopenで開いたファイルのサイズ...
-
fopen(書き込みモード)でファイ...
-
テキストファイルの文字列の削除
-
ファイル読み込みについて
-
C言語のローカル変数の使い方に...
-
freadとfwrite
-
EOF判定されない
-
続・EOF判定されない
-
fortranで文字列を読み込む際の...
おすすめ情報