• 締切済み

【VBS】 iniファイルの特定部分のみ変更

特定フォルダにある、iniファイルを変更したいと思っています。 テキストファイルで変更するなら、 TestDateA=1 ↓ TestDateA=5 と変更するのは 1行ずつ読み込み、Replaceで出来ると思うのですが iniファイルとなると特別なのか、調べてみても良く分かりません。 h ttp://yozda.exblog.jp/9552062/ この方が書いている通り、書けば良いのかもしれませんが 自分で理解していない分、このまま使うのは不安です。 クラスを使うとなると余計にわかりません・・・。 ReadLineで読み込み、特定の文字を含んだらReplaceみたいな 方法は使えないでしょうか? それ以外に何か方法はありますでしょうか? 以上、よろしくお願い致します。

みんなの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

> 特定フォルダにある、iniファイルを セクションなんかが指定されている、Windowsやレジストリエディタで扱えるしっかりとしたiniファイルなのか?単に拡張子が.iniのファイルなのか?で話が違います。 前者と仮定して、 > それ以外に何か方法はありますでしょうか? WindowsAPIのWritePrivateProfileStringを使うとかが真っ当だと思います。 なっちゃんのプログラミングTips: INIファイルの読み書き http://natchan-develop.seesaa.net/article/11120494.html WritePrivateProfileStringはWindowsに用意されている、セクション名やキー名を指定してiniファイルへ書き込みを行うためのインターフェースです。 Replaceの処理の中身でForやMidみたいな関数が使われてるなんて事考える必要が無いのと同様に、WritePrivateProfileStringの中で置換がどうとかって事は考える必要が無いです。 -- > と変更するのは > 1行ずつ読み込み、Replaceで出来ると思うのですが > iniファイルとなると特別なのか、調べてみても良く分かりません。 いわゆるWindowsで扱うiniファイルであれば、一応フォーマットが定まっています。 通常、iniファイルにアクセス、値の書き込みを行う場合、セクション名、キー名で対象の値を指定します。 セクション名が違って、同じキー名の複数の値をまとめて変更しちゃうなんて事は望ましくないです。 自分で書き出したデータを.xlsとか.docって拡張子にしたら紛らわしいのと一緒で、独自の処理するのであれば別の拡張子にしとくのが良いです。 INIファイル - Wikipedia http://ja.wikipedia.org/wiki/INI%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB

satoron666
質問者

お礼

回答ありがとうございます。 情報不足で申し訳ありません。 特定キーの1つの値しか変更する予定はありません。 Windowsで扱うiniファイルだと思います。 フォーマットが決まっているため、問題無いかと思います。 詳しく回答頂き、ありがとうございます! 参考にし、1行ずつ理解していこうと思います^^

関連するQ&A