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

解決


JK  2005-06-21 17:08:57  No: 122852  IP: [192.*.*.*]

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

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

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

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

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

編集 削除
通りすがり  2005-06-21 17:26:15  No: 122853  IP: [192.*.*.*]

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

編集 削除
JK  2005-06-21 17:50:58  No: 122854  IP: [192.*.*.*]

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

編集 削除
ねろ  2005-06-21 18:24:31  No: 122855  IP: [192.*.*.*]

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

編集 削除
じゃんぬねっと  URL  2005-06-21 18:31:31  No: 122856  IP: [192.*.*.*]

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

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

編集 削除
JK  2005-06-21 19:05:22  No: 122857  IP: [192.*.*.*]

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

編集 削除
ねろ  2005-06-21 20:35:19  No: 122858  IP: [192.*.*.*]

>自分の勉強不足で分からなかったので
    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 00:54:36  No: 122859  IP: [192.*.*.*]

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

編集 削除
ねろ  2005-06-22 08:01:03  No: 122860  IP: [192.*.*.*]

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

編集 削除
じゃんぬねっと  URL  2005-06-22 09:30:37  No: 122861  IP: [192.*.*.*]

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

編集 削除