
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も見ています
-
先着1,000名様に1,000円分もらえる!
教えて!gooから感謝をこめて電子書籍1,000円分プレゼント
-
VBScriptで、ファイルから任意の行のみ取り出す方法について
その他(プログラミング・Web制作)
-
ReadLineでの読み出し行を指定する
Visual Basic(VBA)
-
vbsでテキストファイル内の文字列検索
Visual Basic(VBA)
-
4
vbsで最後の行を削除する
その他(プログラミング・Web制作)
-
5
VBScript(vbs)での行の取得について
その他(プログラミング・Web制作)
-
6
VBSで、テキストファイルに対して、全体の途中に文字列を追加したい
その他(プログラミング・Web制作)
-
7
VBScriptでcsvファイルの編集は出来ますか
Visual Basic(VBA)
-
8
VBSでエクセル内の行数を取得する方法
その他(プログラミング・Web制作)
-
9
VBSで特定の文字列が含まれる場合の処理方法
その他(プログラミング・Web制作)
-
10
VBSで変数の宣言はできないのですか?
Visual Basic(VBA)
-
11
VBS実行時エラー オブジェクトがありません 回避方法について
Visual Basic(VBA)
-
12
VBScriptでCSVファイルを読み出したい
その他(プログラミング・Web制作)
-
13
テキストファイルの行頭に文字列挿入したい
Visual Basic(VBA)
-
14
「終了していない文字列型の定数です」とでます
JavaScript
-
15
WScript.Echo と msgbox
その他(Microsoft Office)
-
16
VBSでをエスケープする文字は?"
その他(プログラミング・Web制作)
-
17
VBS フォルダ内にあるすべてのファイルを検索→ファイルが特定のファイルなら開く
その他(プログラミング・Web制作)
-
18
VBscriptが起動しない?
Microsoft ASP
-
19
(VBS) テキストファイル読込での改行コード
その他(プログラミング・Web制作)
-
20
[VBS] テキストファイルから任意の値を抽出する
Visual Basic(VBA)
関連するQ&A
- 1 指定した文字列を含む行から、指定した文字列を
- 2 VBScript(vbs)での行の取得について
- 3 秀丸で文字列範囲を選択したら、前後にタグ挿入したい
- 4 VBScriptでHTMLのセレクトボックスで表示されている値に指定したい
- 5 VBSを使用してXMLファイルの不要行を削除を行いたい
- 6 VBScriptで文字列置換
- 7 cシェルで指定行の文字列加工について
- 8 VBscriptで、Excelのセルに文字列を入力するには?
- 9 VBAでオートフィルを使って指定する文字列を含むものを表示させたい
- 10 Windowsコマンドプロンプトで、指定拡張子のファイル名の一部(固定文字列)を一括削除したい
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
続・EOF判定されない
-
5
複数テキストファイルを読み込...
-
6
32-bit real 画像を読み込む方法
-
7
【VB.Net】バイト型配列に読み...
-
8
freadとfwrite
-
9
バイナリファイルをテキストフ...
-
10
改行までの一文字ずつのファイ...
-
11
C言語での改行コードの扱いにつ...
-
12
ハフマン符号のプログラム
-
13
ファイルサイズ指定し、ファイ...
-
14
VBSで指定行に挿入
-
15
dataファイルをxtxファイルにす...
-
16
フルパスから最後のディレクト...
-
17
ファイルやディレクトリの存在...
-
18
VBA で、スペースを含むファイ...
-
19
C言語初心者の質問失礼します。
-
20
ファイル形式またはファイル拡...
おすすめ情報