
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ランキング
-
バイナリファイルをテキストフ...
-
ファイル内のデータを1行削除...
-
ExcelVBA サーバーの(共有フォ...
-
営業秘密の漏洩について
-
Access クエリ実行が急に非常に...
-
OLE又はDDEを使うVISUAL BESIC...
-
ファイルの結合
-
フルパスから最後のディレクト...
-
C言語初心者の質問失礼します。
-
テキストファイルの最終行を削...
-
jarの開き方を教えてください。
-
どんなプログラムを書いても指...
-
エクセルVBAで相対パスでファイ...
-
VB6.0で作ったプロジェクトが起...
-
「UNCパスはサポートされません...
-
COBOLのファイル出力
-
グローバル変数のよくない使い...
-
csvファイルを開かずに文字を検...
-
コンポーネント`MSCOMM32.cox'...
-
実行ファイルと実行モジュール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バイナリファイルをテキストフ...
-
テキストファイルの行数を取得...
-
fgetsで2行目から文字化け
-
ファイル内のデータを1行削除...
-
fopen(書き込みモード)でファイ...
-
【VB.Net】バイト型配列に読み...
-
改行までの一文字ずつのファイ...
-
【C言語】テキスト読み込みの行...
-
テキストファイルの先頭への文...
-
ファイルサイズ指定し、ファイ...
-
VBSで指定行に挿入
-
winsock recvでの文字化け
-
0バイトファイルの作成
-
C言語 バイナリファイルの読み...
-
freadでファイルを読み込んだ際...
-
C言語の質問です。クイズをテ...
-
fopenで開いたファイルのサイズ...
-
書き込んだファイルに改行が入...
-
EOF判定されない
-
続jファイルに文字列を書く
おすすめ情報