|
▼佐藤 小次郎 さん:
ひまだから、デバッグにお付き合いしますよ(^^
>▼kanabun さん:
>D:\運行管理¥Tpt300運行支援TOOL¥D:運行管理¥Tpt300運行支援TOOL
>ファイル検索時にエラーが発生しました.
>処理を中断します
↑のファイルパス、全然おかしいですね
\がとちゅうから¥に代わり、
また D:\運行管理¥Tpt300運行支援TOOL と
D:運行管理¥Tpt300運行支援TOOL とが結合していますね!
なぜそうなるのか、
どこから呼び出したときにそうなるのか 考えてみましょう。
Mainのほうで 先ほどコメントしたとうり、 File_Search を呼び出している
ところは 2か所ありますね?
その2か所に ブレークポイントを置きましょう。(その行をマウスでポイント
して、ファンクションキーの[F9]を押してください。そうするとその行で
プログラムの実行がSTOP します)
Sub Auto_Open() を[F5]キーで実行します。
プログラムの実行は ブレークポイントで一時中断します。
そしたら [F8]キーを押してください。
[F8]キーはコードを一行だけ実行します。
コードの実行が Function File_Search() のほうに移ったら、コードを一行
[F8]で実行するたびに、実行行の変数が どのような値になったかを マウスを
変数のところにあてがって確認してください。
たとえば、
> LookIn = Left(TL_Path, Cnt(j)) '検索するフォルダ
を実行した後の LookIn の値、
また、
> Filename = WK_Name '検索するファイル名
を実行した後の Filename の値。
> If Right$(LookIn, 1) <> "\" Then LookIn = LookIn & "\"
を実行した後の LookInの値。
> Filename = LookIn & Filename
な、なんと!! 原因が分りました。↑ココです。
ここで Filename を LookIn & Filename としていますが、実は この行は
不要な行だったのです。
すぐ後の行で
> sCmd = "DIR """ & LookIn & Filename & """ /b/s/a:-D > """ _
& tmpPath & """" '' /b ファイル名のみ
としていますから、先行して
> Filename = LookIn & Filename
としておく必要はなかったんです。
ごめんなさい。とりあえず
> Filename = LookIn & Filename
の一行削除してください。
こういうのを デバッグといいます。
|
|