VB(2010)初心者です。
ボタンクリックで、テキストボックスに入力したデータをテキストファイルに
追加書き込みしていますが、同じデータは書き込めないようにしたいです。
下記コードにどのような記述を付け加えたら良いのでしょうか。
Dim fsFile As System.IO.FileStream = System.IO.File.OpenWrite("C:\List.txt")
Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter(fsFile)
sw.BaseStream.Seek(0, System.IO.SeekOrigin.End)
sw.WriteLine(TextBox1.Text)
sw.Flush()
sw.Close()
fsFile.Close()
No.1ベストアンサー
- 回答日時:
>下記コードにどのような記述を付け加えたら良いのでしょうか
ファイルに
(1)何のデータが入っているかを見て
(2)入力した物と同じでなければ書き込む
と云った処理が必要ですね
具体的にコードを書く際には
1.データとはどのような形式なのか
ただのテキストなのか、カンマ区切りなどの複数要素を持つ物なのか
2.1に加え、同じデータとはどのように判断するのか
完全一致なのか、それとも部分一致なのか
3.入力するデータは一行(一つだけ)なのか、複数行(複数データ可)なのか
に気を付けて作る必要があります。
No.2
- 回答日時:
既に入力したデータを、使いやすいように保持しておくしかない。
これは理屈でそうなるもので、他にはどうしようもない。前に入力したデータが判らないと重複かどうかチェックしようが無い。
(1)その保持するやり方に、後に(といってもその作業が終わるまで)検索するに便利な構造を持ち込んで保持するか、そのままの順序で保持するかなど、考えられる。
またDictionaryなどの仕組みを持つ手もある。
http://wednesdaymoon.net/kzweb/articles/vbnet/ar …
エクセルなどは入力したデータはセルに保持されるので、なんらこういうことを考えなくて、検索するだけの問題ですが。
(2)もうひとつは、入力したデータをファイルになったものを読んで調べるかだが、普通はファイルをクローズしないと読めない場合もあり難しいが、ADOのダイナセットのようなもので対処できないかと思うが(VB.NETであるかどうか知らない)
(3)配列に入力されたデータで重複をチェックするキーに当たるデータをそれまでの分を保持して、次の入力時にその中に無いかどうかをチェックする。順次探索になるだろう。
これは割合思いつきやすい方法だろう。
(4)入力し終わってから、ファイルの中に重複をさがし、指摘する方法で、妥協(我慢)する方法とか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- ドライブ・ストレージ SSDを追加したら昔のHDDがおかしくなった 4 2023/03/23 13:25
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ 2 2022/07/29 11:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
VBA【dictionary勉強中ですが・...
-
メモ帳(テキストデータ)をExc...
-
多量のSUMIF式を軽くしたい
-
カンマからスラッシュに
-
Excelのマクロでワードのテキス...
-
ノイズの入った波形をきれいな...
-
S9タイプからXタイプにデータ...
-
配列でデータが入っている要素...
-
VBA 該当データがない時 ...
-
この行は既に別のテーブルに属...
-
EXCEL VBA FREQUENCY関数での...
-
MSCommを用いたRS-232-Cデータ転送
-
C#にてDropDownListの値を動的...
-
0が含まれる幾何平均が「#NUM!」
-
ExcelVBAでデータ不一致のもの...
-
シリアル通信でのデータ受信
-
Fortranで/(スラッシュ)を含...
-
C# でDataTableの更新を高速化...
-
外部データの更新がうまくでき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
配列でデータが入っている要素...
-
多量のSUMIF式を軽くしたい
-
エクセルで2つの時系列のデー...
-
Excelのマクロでワードのテキス...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
VBAを使ってOutlookメール本文...
-
Accessで該当データにフラグを...
-
合計3TBのデータのハッシュ値を...
-
シーケンサにパソコンからアク...
-
S9タイプからXタイプにデータ...
-
カンマからスラッシュに
-
VBA 毎日取得するデータを順番...
-
VBAでシートからコンボボックス...
-
ビットシフトについて
-
ユーザーフォームのテキストボ...
-
EXCELVBAでSQLserverからデータ...
-
特定のデータの抽出方法を教え...
おすすめ情報