- ベストアンサー
テキストファイルの表示
VB6.0で開発したプログラムです。 コマンドボタンを押すとエラーログ(テキストファイル)を 表示するという機能を追加しました。 Shell関数を使って、ノートバッドにエラーログをパラメタとして 渡して起動する、というオーソドックスなものなのですが できればユーザーの編集を防ぐために 読み取り専用で開きたいのです Shell関数にはそれを指定する引数ってないですよね? エラーログのファイル自体を読み取り専用にしてしまうと ログを書き込めないだろうし。 テキストファイルを読み込んでフォームに表示って 方法しかないでしょうかねぇ しかしあまりモジュールを増やしたくないんですよ。 ただでさえでっかいプログラムで すでに身動きとれなくなってるやつなんで。 OpenTextFileメソッドとやらも見つけたのですが、 (読み取り専用を指定できる) 画面に表示させることはできなそう?? 不可能ならしょうがないのですが、 何か方法があったら教えてください。。。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 表示直前で、読み取り専用属性を付けてから開いたらどうですか。 そして表示終了後に、読み取り専用属性を解除します。 ちなみにファイルの属性変更は、SetAttr関数で出来ます。
その他の回答 (3)
- osamuy
- ベストアンサー率42% (1231/2878)
Internet Explorerとか、quickViewerとか、moreあたりを使うとか。
お礼
回答ありがとうございます。 その手もありますが、IEとかofficeがインストールされていることが 前提になってしまいますよね。ちょっと危険かな… すでに客先にリリースされているプログラムなので 環境はあまり変えられないんですよ。。。
- todo36
- ベストアンサー率58% (728/1234)
別ファイルにコピーして書込み禁止にしてメモ帳で開けばいいと思います。 >テキストファイルを読み込んでフォームに表示 リッチテキストボックスならLoadFileで一発
お礼
おひさしぶりです。いつもお世話になってます(^-^) コピーしなくてもmaruru01さんが教えてくれた関数で解決できました。 ありがとうございました。
- emac
- ベストアンサー率16% (1/6)
ログファイルをコピーすればいいんじゃないですか?
お礼
回答ありがとうございます。 ログファイルをコピーして表示して削除して… ってことでしょうか。 確かにそうなんですが、たいした機能ではないので そこまでやる必要あるかなぁというところです。
お礼
こんにちは。おひさしぶりです。 SetAttr関数で属性変更できました! ただ表示終了後すぐに解除するとファイルは開いたままなので、 編集すると上書きできてしまったので エラーログを書き込む直前に解除するようにしたら 理想の動きになりました。 どうもありがとうございました。