プロが教える店舗&オフィスのセキュリティ対策術

ファイルサーバー上にあるEXCELファイルのVBAで
新規にファイルを作成する際にDIR関数で
同名ファイルの有無チェックを作成したいと考えています。
しかし以下のような処理で行うとチェックするフォルダが
My documentsになってしまいファイルの有無チェックが
うまくいきません。どのように書けば良いのでしょうか?
ご教授ください。よろしくお願いします。
(情報不足でしたらご指摘ください。補足いたします)

ChDir "\\サーバー\フォルダ\サブフォルダ"
If(""=Dir(ファイル名))then '同名ファイル無
ファイルを保存する処理
Else
msgbox "同名ファイルがあります"
Endif

環境:
サーバー  :WinNT4.0
クライアント:Win98SE or WinNT4.0
EXCEL2000
LAN接続(同一ドメイン)

A 回答 (2件)

こんにちは。

maruru01です。

チェックするフォルダも込みのフルパスで指定する方がいいと思いますよ。
チェックするフォルダは、常に同じなら定数化しておき、変更の可能性があるなら変数に代入して使用すればいいでしょう。
変数(または定数)は標準モジュールにでも宣言しておけばいいでしょう。

*****標準モジュール*****
Public FolderName As String

*****実際の処理*****
FolderName = "\\サーバー\フォルダ\サブフォルダ\"
If Dir(FolderName & "ファイル名") = "" Then '同名ファイル無
  'ファイルを保存する処理
Else
  MsgBox "同名ファイルがあります"
End If
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
なるほど、フォルダを変数に代入しておけば
それの変更があった場合でも便利ですね。
勉強になりました。
ありがとうございます。

お礼日時:2002/08/26 13:57

ChDirとDir関数が調べるフォルダは関係ないと思います。


If(""=Dir("\\サーバー\フォルダ\サブフォルダ\ファイル名"))then 

など、Dir関数の引数にパスとファイル名を直接書けばよいのではないでしょうか。
そのように使ったことがあります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ご指摘の方法にしたらできました。
Dir関数でパスとファイル名を
直接書けばいいとは気づきませんでした。
勉強になりました。

お礼日時:2002/08/26 13:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A