質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

1867閲覧

visual studio 2015のslnファイルをVBAからADODB.streamで書き換えたい

cesolution

総合スコア217

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2016/12/20 04:56

###前提・実現したいこと
Visual Studio 2015で作成したslnファイルのproject名等をExcelのマクロで書き換えようとしています。

###発生している問題・エラーメッセージ
以下添付イメージのように、ADODBでの読み込み文字が一部消えているものがあります。
イメージ説明

###該当のソースコード

VBA

1 With CreateObject("ADODB.Stream") 2 .Mode = 3 '読み取り/書き込みモード 3 .Type = 2 'テキストデータ 4 .Charset = "UTF-8" 5 .Open 'Streamオブジェクトを開く 6 .LoadFromFile (cnsFILENAME(i)) 'ファイルの内容を読み込む 7 .Position = 0 'ポインタを先頭へ 8 9 Do Until .EOS 'Streamの末尾まで繰り返す 10 buf = .ReadText(adReadLine) 'Streamから1行取り込み 11 buf = Replace(buf, oldn, newn) 12 13 .WriteText buf, 0 '0:adWriteChar 既定値。指定したテキスト文字列を書き込みます。 14 Debug.Print (buf) 15 Loop 16 .SaveToFile cnsFILENAME(i), 2 '2:adSaveCreateOverWrite 17 18 .Close 19 20 End With

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
Excel : 2010

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Replace, WriteText関数をコメントアウトすると正常にDebug表示されました。
入力と出力は別ストリームを使うべきでは?

投稿2016/12/20 06:25

can110

総合スコア38266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cesolution

2016/12/20 06:48

ご連絡ありがとうございます。 Readの直下でDebug.Printをした時にも同様の現象になっていたため、Readの問題かと思いこんでしまっていました。 確かに出力での上書きが問題だったようです。 入出力を分けて上手くいくようになりました。素早いご回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問