質問

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

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

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

通報する

回答 (2件)

こんにちは。maruru01です。

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

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

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

この回答へのお礼

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

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

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

この回答へのお礼

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

このQ&Aは役に立ちましたか?1 件

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

新しく質問する

注目の記事

フリーアナウンサー長谷川豊氏の新コーナー「このニュースどう思います?」がスタート!

元フジテレビのフリーアナウンサー長谷川豊氏から気になるニュースについておしトピの皆さんに質問します! 皆さんの意見をもとに長谷川豊氏がコラムを執筆します! アプリリリース記念として最大1万分のアマゾンギフト券プレゼントキャンペーンも実施中!


新しく質問する

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

毎日見よう!教えて!gooトゥディ

べんりQ&A特集