メモ帳で新規作成メッセージを回避するには?

解決


JK  2005-06-22 02:08:57  No: 122852

VB6をWin2000で使用してます。
新規または既存のテキストファイルを開くのに現在、下記のように
記述しています。

----------------------------------------------------------------
Dim RETURNVALUE

RETURNVALUE = Shell("C:\WINNT\SYSTEM32\NOTEPAD.EXE " & "テキストファイルのフルパス" , 1)
-----------------------------------------------------------------

ここで、"テキストファイルのフルパス"で指定したファイルが無い場合、
「ファイル"テキストファイルのフルパス"が見つかりません。
  新しく作成しますか?」
とメッセージが出るのですが、これを回避して強制作成することは出来ますか?

また、上記記述でなくても同様のことが出来れば構いません。


通りすがり  2005-06-22 02:26:15  No: 122853

パスを渡す前に自分でDir関数でチェックすればいいのでは?


JK  2005-06-22 02:50:58  No: 122854

存在するかしないかのチェックは確かにDIR関数で出来るのですが、
存在しない場合に、メッセージを出さずに新規作成する方法がわからないのです。


ねろ  2005-06-22 03:24:31  No: 122855

いやだから、メッセージが出る前に、無ければ作っておくのです。
ファイルが無い場合は必ずファイルを作るのであれば、
Shellで呼ぶ前に、Appendモードでファイルを一回開き、
何もしないでCloseすればいいのでは。


じゃんぬねっと  URL  2005-06-22 03:31:31  No: 122856

ファイルの存在チェック:
  http://jeanne.wankuma.com/tips/file/01-exists.html

空ファイルを作る:
  http://jeanne.wankuma.com/tips/file/02-create.html


JK  2005-06-22 04:05:22  No: 122857

通りすがりさん、ねろさん、じゃんぬねっとさん  ありがとうございます。
解決しました。
ねろさんの
「Shellで呼ぶ前に、Appendモードでファイルを一回開き、
何もしないでCloseすればいいのでは。」
は自分の勉強不足で分からなかったので、じゃんぬねっとさんのリンクを参考に
させて頂きました。


ねろ  2005-06-22 05:35:19  No: 122858

>自分の勉強不足で分からなかったので
    Dim FileName As String, FileNo As Integer
    FileName = App.Path & "\test.txt"
    FileNo = FreeFile
    Open FileName For Append As #FileNo: Close #FileNo
    Shell "C:\WINNT\SYSTEM32\NOTEPAD.EXE " & FileName, 1
参考までに。


名無し  2005-06-22 09:54:36  No: 122859

最後の行は明らかにまずい


ねろ  2005-06-22 17:01:03  No: 122860

まずいといえばまずい、まずくないといえばまずくない。


じゃんぬねっと  URL  2005-06-22 18:30:37  No: 122861

サンプルはあくまでサンプルなので、
臨機応変に対応するくらいの順応力がなければ、この業界ではやっていけないでしょう。
環境変数を使うなり、別の方法を使うなり色々あります。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加