Q質問

ファイルサーバー上にある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

この回答へのお礼

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

お礼日時:2002/08/26 13:57
    • good
    • 0

ChDirとDir関数が調べるフォルダは関係ないと思います。
If(""=Dir("\\サーバー\フォルダ\サブフォルダ\ファイル名"))then 

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

この回答へのお礼

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

お礼日時:2002/08/26 13:52
    • good
    • 0

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

新しく質問する

注目の記事

恋人とのデートの待ち合わせにも大活躍な「Apple Watch」

みなさんは恋人とデートのときに遅刻をしたことはあるだろうか? ビジネスにおいては許されない遅刻も、プライベートであれば許されることが多いのでは。『おしトピ by 教えて!goo』で「遅刻しそうなときどうする...

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報