
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ランキング
-
C言語での採番について
-
続・EOF判定されない
-
fopenで開いたファイルのサイズ...
-
VS2010 MFC CStdioFileについて
-
fgetsで2行目から文字化け
-
FTPでputすると空ファイルが出...
-
Access クエリ実行が急に非常に...
-
フルパスから最後のディレクト...
-
csvファイルを開かずに文字を検...
-
テキストファイルの最終行を削...
-
VB.NETで他のプロジェクトで作...
-
バッファとは何ですか
-
vba ActiveSheet.pasteを使った...
-
C言語初心者の質問失礼します。
-
UTL_FILEにて既存のExcelに追加...
-
c言語でファイルのタイムスタン...
-
シェルコマンドの 2>&1 とはど...
-
FTPでリモートのファイル一覧取得
-
ファイル出力の場所を指定
-
OLE又はDDEを使うVISUAL BESIC...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルの行数を取得...
-
ファイル内のデータを1行削除...
-
バイナリファイルをテキストフ...
-
fgetsで2行目から文字化け
-
ファイルサイズ指定し、ファイ...
-
c言語 2つのファイルを行ご...
-
0x00をファイル出力
-
C言語での採番について
-
VBSで指定行に挿入
-
テキストファイルの先頭への文...
-
fopen(ファイルパス)
-
C言語での改行コードの扱いにつ...
-
fopenで開いたファイルのサイズ...
-
winsock recvでの文字化け
-
EOF判定されない
-
fscanf関数のscanf集合を使う時...
-
巨大なテキストファイル(可変...
-
VS2010 MFC CStdioFileについて
-
(UWSC)このような場合、解決策...
-
改行までの一文字ずつのファイ...
おすすめ情報