• ベストアンサー

テキストファイルの表示

VB6.0で開発したプログラムです。 コマンドボタンを押すとエラーログ(テキストファイル)を 表示するという機能を追加しました。 Shell関数を使って、ノートバッドにエラーログをパラメタとして 渡して起動する、というオーソドックスなものなのですが できればユーザーの編集を防ぐために 読み取り専用で開きたいのです Shell関数にはそれを指定する引数ってないですよね? エラーログのファイル自体を読み取り専用にしてしまうと ログを書き込めないだろうし。 テキストファイルを読み込んでフォームに表示って 方法しかないでしょうかねぇ しかしあまりモジュールを増やしたくないんですよ。 ただでさえでっかいプログラムで すでに身動きとれなくなってるやつなんで。 OpenTextFileメソッドとやらも見つけたのですが、 (読み取り専用を指定できる) 画面に表示させることはできなそう?? 不可能ならしょうがないのですが、 何か方法があったら教えてください。。。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

こんにちは。maruru01です。 表示直前で、読み取り専用属性を付けてから開いたらどうですか。 そして表示終了後に、読み取り専用属性を解除します。 ちなみにファイルの属性変更は、SetAttr関数で出来ます。

noname#62349
質問者

お礼

こんにちは。おひさしぶりです。 SetAttr関数で属性変更できました! ただ表示終了後すぐに解除するとファイルは開いたままなので、 編集すると上書きできてしまったので エラーログを書き込む直前に解除するようにしたら 理想の動きになりました。 どうもありがとうございました。

その他の回答 (3)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.3

Internet Explorerとか、quickViewerとか、moreあたりを使うとか。

noname#62349
質問者

お礼

回答ありがとうございます。 その手もありますが、IEとかofficeがインストールされていることが 前提になってしまいますよね。ちょっと危険かな… すでに客先にリリースされているプログラムなので 環境はあまり変えられないんですよ。。。

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

別ファイルにコピーして書込み禁止にしてメモ帳で開けばいいと思います。 >テキストファイルを読み込んでフォームに表示 リッチテキストボックスならLoadFileで一発

noname#62349
質問者

お礼

おひさしぶりです。いつもお世話になってます(^-^) コピーしなくてもmaruru01さんが教えてくれた関数で解決できました。 ありがとうございました。

  • emac
  • ベストアンサー率16% (1/6)
回答No.1

ログファイルをコピーすればいいんじゃないですか?

noname#62349
質問者

お礼

回答ありがとうございます。 ログファイルをコピーして表示して削除して… ってことでしょうか。 確かにそうなんですが、たいした機能ではないので そこまでやる必要あるかなぁというところです。

関連するQ&A

専門家に質問してみよう