No.2ベストアンサー
- 回答日時:
FileRead()は、指定のテキストファイルから1行づつ読み込んで返す関数です。
これを利用して、1行づつチェックして書き出すのが一つの方法です。
もっと、簡単なのは、FileReadArray() で一気に変数に呼び込むことです。
UBound()などで配列に呼び込んだ行数を取得してチェックして不要行を削除します。
FileWrite()で書き出します。
Public Function FileRead(ByVal FileName As String, Optional isStop As Boolean = False) As String
On Error GoTo Err_FileRead
Static isOpen As Boolean
Static fso As FileSystemObject
Static fil As File
Static txs As TextStream
If Not isOpen Then
isOpen = True
Set fso = New FileSystemObject
Set fil = fso.GetFile(FileName)
Set txs = fil.OpenAsTextStream(ForReading, TristateUseDefault)
End If
FileRead = IIf(fil.Name = FileName, txs.ReadLine, "")
Exit_FileRead:
If Len(FileRead) = 0 Or isStop Then
isOpen = False
Set txs = Nothing
Set fil = Nothing
Set fso = Nothing
End If
Exit Function
Err_FileRead:
Resume Exit_FileRead
End Function
Public Function FileReadArray(ByVal FileName As String) As String()
On Error GoTo Err_FileReadArray
Dim fso As FileSystemObject
Dim fil As File
Dim txs As TextStream
Dim strText As String
Dim strTexts() As String
Set fso = New FileSystemObject
Set fil = fso.GetFile(FileName)
Set txs = fil.OpenAsTextStream(ForReading, TristateUseDefault)
strText = txs.ReadAll
strTexts = Split(strText, Chr$(13) & Chr$(10))
Exit_FileReadArray:
FileReadArray = strTexts()
Exit Function
Err_FileReadArray:
MsgBox Err.Description & "(FileReadArray)", vbExclamation, " 関数エラーメッセージ"
strTexts() = Split("")
Resume Exit_FileReadArray
End Function
Public Function FileWrite(ByVal FileName As String, _
ByVal Text As String) As Boolean
On Error GoTo Err_FileWrite
Dim fso As FileSystemObject
Dim txs As TextStream
Set fso = New FileSystemObject
Set txs = fso.CreateTextFile(FileName, True)
txs.Write Text
FileWrite = True
Exit_FileWrite:
Exit Function
Err_FileWrite:
MsgBox Err.Description & "(FileWrite)", vbExclamation, " 関数エラーメッセージ"
Resume Exit_FileWrite
End Function
No.1
- 回答日時:
わかりやすい手順としては、
ファイルを仮テーブルに1行ずつ読み込み、
特定行をテーブルから削除して、
全レコードを新規に書き出す。
わからない部分を特定していただけると、もっと具体的にお答えできると思います。
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=2232969
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- フリーソフト テキストファイルの一括置換で除外したい文字があります。 2 2022/06/21 17:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/02/05 09:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- その他(クラウドサービス・オンラインストレージ) OneDriveで特定のフォルダ(写真だと、スクリーンショット)の内容だけをバックアップしない方法を 2 2022/05/20 01:44
- その他(プログラミング・Web制作) awkの BEGIN{RS=""} で空行を削除できるが、削除できる仕組みが分からない。 1 2023/05/02 14:14
- VPN VPN Client Adapter を削除する方法を教えて下さい。 1 2023/08/20 01:49
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/15 16:33
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBA:Openステートメントで開いたCSVファイルの特定行を削除する方法
その他(プログラミング・Web制作)
-
CSVファイルの特定行の削除
Visual Basic(VBA)
-
VBAでの行削除について
その他(プログラミング・Web制作)
-
-
4
【VBA】テキストファイルを指定行数からの読み込み
Visual Basic(VBA)
-
5
txtファイルから特定の文字列が書かれた行だけを取得や削除するソフト
フリーソフト
-
6
EXCEL VBAでテキストファイルの特定の場所にデータを書き込む方法
Visual Basic(VBA)
-
7
Access インポート
Access(アクセス)
-
8
テキストファイルからデータを削除したい。
Visual Basic(VBA)
-
9
VBAでCSVファイルの特定行を書き換える方法はあるのでしょうか?
その他(プログラミング・Web制作)
-
10
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
11
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
12
ACCESS テーブルに2行目から取り込む方法
その他(Microsoft Office)
-
13
テキストファイルの途中行から読み込む方法について
Visual Basic(VBA)
-
14
Accessクエリで特定の行を削除したい
Access(アクセス)
-
15
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
16
アクセスにtxtファイルの指定行のみインポートしたい
PowerPoint(パワーポイント)
-
17
テキストファイルの行頭に文字列挿入したい
Visual Basic(VBA)
-
18
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
-
19
VBAでCSVの1行目だけを書き換える方法
Excel(エクセル)
-
20
【VBA】テキストファイルから特定の文字列を抽出して、エクセルに出力する
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAが徐々に遅くなる
-
ATTファイルってどうやって開け...
-
テキストファイルの一部分を抽...
-
既存のテキストファイルを開く方法
-
バイナリファイルの区別
-
ASP.NET Web上のテキストファ...
-
Delphiのreadlnについて
-
テキストファイルってページの...
-
エクセルVBAでメールの自動作成...
-
ファイルのチェックサムを改行...
-
Google検索履歴のテキストファ...
-
テキストファイルの特定行の削...
-
音楽配信ホームページ製作
-
バイナリデータの中からMidのよ...
-
VB(VBA)で、バイナリデータを使...
-
【至急:C言語】cppファイルやh...
-
テキストファイル内の文字の有...
-
VBA。開いているテキストファイ...
-
外部テキストのフェード効果の...
-
テキストファイル内容の、16進...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
Excel VBAが徐々に遅くなる
-
テキストファイルの一部分を抽...
-
既存のテキストファイルを開く方法
-
テキストファイルの特定行の削...
-
StreamReaderで読み込んだファ...
-
VBA。開いているテキストファイ...
-
VB(VBA)で、バイナリデータを使...
-
Windowsのメモ帳でUTF-8を選択...
-
テキストファイル固定長データ...
-
バイナリデータの中からMidのよ...
-
テキストファイルをSQLServerデ...
-
ファイル変換
-
テキストファイル内容の、16進...
-
パイソンでのテキストデータの...
-
[VB.NET] 処理の高速化を行いた...
-
RGBデータからBMP画像へ
-
C言語でテキストファイルをバイ...
-
エクセルVBAでメールの自動作成...
-
TXTファイルデーターをEX...
おすすめ情報