No.1ベストアンサー
- 回答日時:
Option Explicit
Dim objStream
Set objStream = CreateObject("ADODB.Stream")
'UTF-BEと入力し続けて誤りに気づけず、時間を食った。ヒドイです、先生(何。
objStream.CharSet = "UNICODEFEFF"
objStream.type = 2
' Openの第一引数にファイルパスの文字列与えたらエラーが起きて書けなかった。
objStream.Open()
'前述の通り直接ファイルを開けなかったのでファイルの中身を全て読み込むことに。質問者さんの環境ではうまくいくのかなぁ?
'ファイルにはabcと書かれている。
objStream.LoadFromFile("D:\aaa.txt")
'setEOSでうまくいくかと思いきや、Positionが0のままだったので、
'しょうがないからこの方向で。
objStream.Position = objStream.size
objStream.WriteText("def")
objStream.Flush()
'先ほどのファイルaaa.txtに書き込めなかったので
'別ファイルに書き込むことに。
'結果:ファイルが期待通りabcdefに。ねんがんのabcdefをてにいれたぞ!
'質問者さんの環境が俺と同じく、aaa.txtに書き込めないなかったら別のファイルを作る。
'もし、同名のファイルにしておきたかったら、別名ファイルを作っておいて、新しいファイルに書いて
'古い方削除して、新しい方をリネームみたいな手法になるだろうか。
objStream.SaveToFile("D:\aaa2.txt")
'閉じる。
objStream.Close()
'合図がないと実行されたのかよくわからなかったから。
Msgbox("End")
'CSVとして読んだわけじゃないから(あまり考え方としては好きではない。
'文字列データ内に改行があるケースは考えてないし、
'読み込んだ元データの最後に改行がないとかいうケースは考えりゃどうにかなるだろう。
'ただ、本当はExcelやOOo Calcで"CSVとして読みこんで"、マクロで(テキストファイルとしてではなく)CSVとしていじるって方が好き
'この辺は俺が「正規表現でXMLやHTMLのソースをいじる回答に間違いが多い」ことや、
'結果的に「エスケープ」や「ヴァリデート」ではなく「サニタイズ」を考ることの一貫性が取れないことにイライラする
'あたりから来ているんだろうな、多分。
ご回答ありがとうございます。
ファイルの中身はLoadFromFileで全て読み込む方法で良いと思います。
↓この一行でPositionを最後に移動させるのがポイントでした。
objStream.Position = objStream.size
あとはWrite処理を行うことでファイルの最後に
追記することができました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
vbsでテキストファイル内の文字列検索
Visual Basic(VBA)
-
VBScript で ADO Streamオブジェクトの Writeを使いたい
Visual Basic(VBA)
-
Excel VBAでほかのアプリケーションで使用中(ロック)のファイルを上書き保存したい
その他(プログラミング・Web制作)
-
-
4
「VBScript」ADODB.Streamにおけるファイル読み込みについて(他
Microsoft ASP
-
5
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
6
実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」
Visual Basic(VBA)
-
7
エクセルでエラーが出て困っています。
Excel(エクセル)
-
8
split関数で区切り文字がない場合
Visual Basic(VBA)
-
9
VBSのADODB.Streamで先頭に「追記」
Visual Basic(VBA)
-
10
ADODB.Streamを使用してUTF-8を出力
Visual Basic(VBA)
-
11
VBAでCSVファイルの特定行を書き換える方法はあるのでしょうか?
その他(プログラミング・Web制作)
-
12
エラーコード 70 「書き込みできません」について
Visual Basic(VBA)
-
13
EXCEL-VBAにてADOのレコードセットを使用している際のメモリの開放について
Visual Basic(VBA)
-
14
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
15
VBSで指定行に挿入
その他(プログラミング・Web制作)
-
16
定数配列の書き方
Visual Basic(VBA)
-
17
[VBScript]ファイルの入出力を同時に行う方法
Visual Basic(VBA)
-
18
データを削除しても表領域の使用率が減りません
Oracle
-
19
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
20
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#include <Windows.h>というヘ...
-
アクセス 壊れた? 「ファイ...
-
バッチ処理で追記コピーしたい
-
CSSを1ページに1枚作るのって変...
-
binファイルを解凍したいの...
-
iniファイル
-
Word VBA MSGBOX 内で降順表示
-
ファイルが開かれているかどう...
-
exeファイルをデータ転送サービ...
-
実行ファイル(.exeファイル)...
-
jarファイル
-
frm、frxファイル
-
COBOL
-
exeファイルの作り方
-
パイソンでpy ファイルと p...
-
Latexで図番号だけを「図1.1」...
-
コマンドプロンプトで作成日時...
-
VBSが起動しない
-
VBAでのicsファイル変換
-
Seasar2のdiconファイルの読み方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
-
ファイル構造が破損しているフ...
-
2つのファイルのバイナリをコン...
-
CSSを1ページに1枚作るのって変...
-
Word VBA MSGBOX 内で降順表示
-
公文書のxmlファイルの開き方が...
-
jarファイル
-
バッチ処理で追記コピーしたい
-
自分で作成した重要ファイルを...
-
ファイルは何で構成されている...
-
exeファイルをデータ転送サービ...
-
リンクの張り付けかたを教えて...
-
exeファイルの中身を見る方法は...
-
参照するファイルをワイルドカ...
-
CRCが一致する確率
-
C言語---ファイルに出力したデ...
おすすめ情報