なんというか恥さらしな気もしますが、VBというかプログラム全般でパスの指定方法の注意点です。
今までなんにも考えずにEXEと同一フォルダのtestにアクセスするときに”testhoge.txt”みたいな感じで相対パスで指定していたのですが、これって直接EXE実行の時はいいですけど、他のPGから起動させたときはうまくいかないんですね・・・
カレントディレクトリの問題なので、VB6のchdir(だったかな?)命令を使ってカレントディレクトリを指定すれば問題は解決しました。
ただ、Windowsのカレントディレクトリってのはいつ変わるかよく仕様が分からないので、最近はパスはドライブ名から指定して絶対指定を行うようにしています。
で、うっかり
app.path & “test”
こんな風にするとドライブの直下にEXEを置いて実行すると
“c:\test”
とかなって、OSによっては「ファイルが見つかりません」エラーになります。
Win2Kとかは賢くて、こんなパス渡してもうまく処理してくれますけどね。
なんか初歩的なことなんですが、最近ってDBアクセスがメインだから、意外とファイル処理ってやる機会自体少ないよなあ。
ファイルを処理するときのパスの指定方法
※Amazonのアソシエイトとして、A-TAK.COMは適格販売により収入を得ています
※本サイトではその他アフィリエイトも利用しております。
広告
広告
投稿者:
タグ:
カテゴリ一覧