作成者カテゴリ 
公開
じゃみ
02/02/2010 04:52 PM
エージェント
ノーツサーバノーツクライアントサーバOSクライアントOSネットワークプロトコル
7.x7.xWindows Server 2003Windows XP ProTCP/IP

Dir関数でエラー

お世話になっております。

Dir関数でなぜかエラーになり、原因が分かればと思い質問します。

最初はこういうロジックでした。
文書のカテゴリフィールドを見て、その値でフォルダ作成を行い
その下の階層に年次フィールドでフォルダを作成するものです。

Const sDefaultPath = "C:\Documents and Settings\All Users\デスクトップ\"

If Dir(sDefaultPath & doc.Categories(0), 16) = "" Then
Mkdir sDefaultPath & doc.Categories(0)
End If

If Dir(sDefaultPath & doc.Categories(0) & "\" & doc.Year(0), 16) = "" Then
Mkdir sDefaultPath & doc.Categories(0) & "\" & doc.Year(0)
End If

これを動かすと正常終了します。
ただ、デスクトップ上にカテゴリ名のフォルダが大量にできてしまうので、
デスクトップに"DIGITAL"というフォルダを作ろうと
変更したロジックが以下になります。

Const sDefaultPath = "C:\Documents and Settings\All Users\デスクトップ\DIGITAL\"
☆ If Dir(sDefaultPath, 16) = "" Then
Mkdir sDefaultPath
End If

If Dir(sDefaultPath & doc.Categories(0), 16) = "" Then
Mkdir sDefaultPath & doc.Categories(0)
End If

If Dir(sDefaultPath & doc.Categories(0) & "\" & doc.Year(0), 16) = "" Then
Mkdir sDefaultPath & doc.Categories(0) & "\" & doc.Year(0)
End If

単に階層を一つ増やし、その階層フォルダを作成するロジックを追加しただけですが
☆のところで"P001 パスがみつかりません"が返ってきます。
なぜここだけNULLではなくエラーを返すのか分かりません。

"DIGITAL"だけを独立した定数にしてつなげても同じでした。
デスクトップではなくCドライブ直下にしても同じでした。
今は☆の行の上にOn Error Resume Nextをつけて無理やり作成してるので
一応動くことは動くのですが・・・納得いかず。

何が原因なのかお分かりになる方、ご教授いただけると助かります。

よろしくお願いします。


[Previous Main Document]
Dir関数でエラー (じゃみ) * 現在地 *
. . Re: Dir関数でエラー (Vit)
. . . . Re: Dir関数でエラー (じゃみ)
[Next Main Document]