Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7437 / 13644 ツリー ←次へ | 前へ→

【39141】既存ファイルを開いて、中身を上書きする方法。 mutu 06/6/19(月) 10:00 質問[未読]
【39145】Re:既存ファイルを開いて、中身を上書きす... ponpon 06/6/19(月) 10:58 発言[未読]
【39152】Re:既存ファイルを開いて、中身を上書きす... mutu 06/6/19(月) 11:36 質問[未読]
【39162】Re:既存ファイルを開いて、中身を上書き... neptune 06/6/19(月) 14:11 発言[未読]
【39168】Re:既存ファイルを開いて、中身を上書き... mutu 06/6/19(月) 14:57 質問[未読]
【39170】Re:既存ファイルを開いて、中身を上書き... Blue 06/6/19(月) 15:12 発言[未読]
【39179】Re:既存ファイルを開いて、中身を上書き... mutu 06/6/19(月) 15:57 お礼[未読]
【39188】Re:既存ファイルを開いて、中身を上書き... Blue 06/6/19(月) 16:39 発言[未読]

【39141】既存ファイルを開いて、中身を上書きする...
質問  mutu  - 06/6/19(月) 10:00 -

引用なし
パスワード
   よろしくお願いします。


テキストBOXに表示させた文字列を、
既存ファイルに上書きしようとしています。
が、なかなかうまく行きません、どのようにすればいいのでしょうか?

ちなみに、
行の判別は先頭に、
1,2,3・・・と目印を置いて、
If Left(Str, 1) = "1" Then
という風に書き換える行を判別させる方法を取ろうとしています。

【39145】Re:既存ファイルを開いて、中身を上書き...
発言  ponpon  - 06/6/19(月) 10:58 -

引用なし
パスワード
   こんにちは。
回答でなくて申し訳ありません。
もう少しくわしく説明しないと、回答がつかないと思います。
シートレイアウトや
    A    B    C    D
1                
2                
3                
どこをどのように書きかえたいのか?
書きかえるタイミングなどを説明するとよいと思います。

【39152】Re:既存ファイルを開いて、中身を上書き...
質問  mutu  - 06/6/19(月) 11:36 -

引用なし
パスワード
   説明不足申し訳ありません。

ファイルは
1=ABC
2=DEFG
3=GHI

という内容で、
最初の2桁目で行を判別して、
あとの文字列を書き換えるという内容です。

1=テキストボックス
2=テキストボックス
3=テキストボックス
編集ボタン


という画面を用意して、
テキストボックスに編集したい内容を入力してもらって、
編集ボタンが押されると
ファイルに上書きされるという風にしたいと考えています。

よろしくお願いします。


▼ponpon さん:
>こんにちは。
>回答でなくて申し訳ありません。
>もう少しくわしく説明しないと、回答がつかないと思います。
>シートレイアウトや
>    A    B    C    D
>1                
>2                
>3                
>どこをどのように書きかえたいのか?
>書きかえるタイミングなどを説明するとよいと思います。

【39162】Re:既存ファイルを開いて、中身を上書き...
発言  neptune  - 06/6/19(月) 14:11 -

引用なし
パスワード
   ▼mutu さん:
お邪魔します。

ファイルってなんでしょうか?ExcelBook?それともTextファイル、
それとも特殊な構造をもった他の形式のファイルですか?
もしExcelBookなら、開いているんですか、閉じているんですか?
閉じていたら・・・・省略

内容を書いてますが、どのファイルでも有り得ます。

それぞれで答えは違ってきますから、そういう基本情報は必須ですよ。

これがなければ有効Resを期待するのは無理です。

【39168】Re:既存ファイルを開いて、中身を上書き...
質問  mutu  - 06/6/19(月) 14:57 -

引用なし
パスワード
   またまた、情報不足失礼しました。

textファイルで、
特殊な構造などはありません。
ファイルは閉じた状態です。

▼neptune さん:
>▼mutu さん:
>お邪魔します。
>
>ファイルってなんでしょうか?ExcelBook?それともTextファイル、
>それとも特殊な構造をもった他の形式のファイルですか?
>もしExcelBookなら、開いているんですか、閉じているんですか?
>閉じていたら・・・・省略
>
>内容を書いてますが、どのファイルでも有り得ます。
>
>それぞれで答えは違ってきますから、そういう基本情報は必須ですよ。
>
>これがなければ有効Resを期待するのは無理です。

【39170】Re:既存ファイルを開いて、中身を上書き...
発言  Blue  - 06/6/19(月) 15:12 -

引用なし
パスワード
   一応流れを考えてみた。


一時ファイルを使う場合)

 1.ファイルを開く(読み込み用)
 2.ファイルを開く(書き込み用->一時ファイル)
 3.1行読み込む
 4.先頭の数字によって、変更する場合、読み込んだ文字列を変更する
 5.4で処理した文字を2のファイルに書き込む
 6.ファイルの終わりまで3〜5を繰り返す
 7.ファイルを閉じる(読み込み用)
 8.ファイルを閉じる(書き込み用)
 9.読み込み用ファイルを削除する
10.書き込み用ファイルの名前を変える

エクセルシートを使う場合)

 1.ファイルを開く
 2.1行読み込む
 3.先頭の数字によって、変更する場合、読み込んだ文字列を変更する
 4.3で処理した文字を任意のシートの行の終わりに追記する
 5.ファイルの終わりまで2〜4を繰り返す
 6.ファイルを閉じる
 7.ファイルを上書きモードで開く
 8.4でためた情報をファイルに書き込む
 9.ファイルを閉じる

メモリ上だけの場合)

 1.ファイルを開く
 2.1行読み込む
 3.先頭の数字によって、変更する場合、読み込んだ文字列を変更する
 4.3で処理した文字を配列の変数の末尾に記憶させる(ReDimで広げて設定)
 5.ファイルの終わりまで2〜4を繰り返す
 6.ファイルを閉じる
 7.ファイルを上書きモードで開く
 8.4でためた情報をファイルに書き込む
 9.ファイルを閉じる

【39179】Re:既存ファイルを開いて、中身を上書き...
お礼  mutu  - 06/6/19(月) 15:57 -

引用なし
パスワード
   ありがとうございます。

この流れでなんとかやってみます。

▼Blue さん:
>一応流れを考えてみた。
>
>
>一時ファイルを使う場合)
>
> 1.ファイルを開く(読み込み用)
> 2.ファイルを開く(書き込み用->一時ファイル)
> 3.1行読み込む
> 4.先頭の数字によって、変更する場合、読み込んだ文字列を変更する
> 5.4で処理した文字を2のファイルに書き込む
> 6.ファイルの終わりまで3〜5を繰り返す
> 7.ファイルを閉じる(読み込み用)
> 8.ファイルを閉じる(書き込み用)
> 9.読み込み用ファイルを削除する
>10.書き込み用ファイルの名前を変える
>
>エクセルシートを使う場合)
>
> 1.ファイルを開く
> 2.1行読み込む
> 3.先頭の数字によって、変更する場合、読み込んだ文字列を変更する
> 4.3で処理した文字を任意のシートの行の終わりに追記する
> 5.ファイルの終わりまで2〜4を繰り返す
> 6.ファイルを閉じる
> 7.ファイルを上書きモードで開く
> 8.4でためた情報をファイルに書き込む
> 9.ファイルを閉じる
>
>メモリ上だけの場合)
>
> 1.ファイルを開く
> 2.1行読み込む
> 3.先頭の数字によって、変更する場合、読み込んだ文字列を変更する
> 4.3で処理した文字を配列の変数の末尾に記憶させる(ReDimで広げて設定)
> 5.ファイルの終わりまで2〜4を繰り返す
> 6.ファイルを閉じる
> 7.ファイルを上書きモードで開く
> 8.4でためた情報をファイルに書き込む
> 9.ファイルを閉じる

【39188】Re:既存ファイルを開いて、中身を上書き...
発言  Blue  - 06/6/19(月) 16:39 -

引用なし
パスワード
   もしかしたら、一連の流れをExcelにやらせたほうがわかりやすいかも。
(おそらく処理速度は落ちるでしょうが。)

1.Excelでテキストファイルを開く
2.置換機能を使って一気に置換
  例えば、「1」を変更するならば、「1=*」で検索して、「1=テキストボックス
の値」
  で置換する
3.上書き保存

7437 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free