tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルファイルへのパスを取得する方法
記事No11499
投稿日: 2008/02/21(Thu) 13:37
投稿者Goro
VB6です。
a.txtファイルを
b.txtのあるフォルダにセーブしたいのです。
まず
b.txtへのパスを取得(検索?)したいのですが
方法を教えてください。

それとも、そんな「回りくどい」方法でなくても
もっと簡単な方法がありましたら教えてください。

[ツリー表示へ]
タイトルRe: ファイルへのパスを取得する方法
記事No11500
投稿日: 2008/02/21(Thu) 15:21
投稿者BT6
> b.txtへのパスを取得(検索?)したいのですが
> 方法を教えてください。

何を教えればいいか分かりません。
上記質問から「?」を取ってから(仕様を固めてから)質問しましょう。

[ツリー表示へ]
タイトルRe^2: ファイルへのパスを取得する方法
記事No11501
投稿日: 2008/02/21(Thu) 16:56
投稿者Goro
> > b.txtへのパスを取得(検索?)したいのですが
> > 方法を教えてください。
>
> 何を教えればいいか分かりません。
> 上記質問から「?」を取ってから(仕様を固めてから)質問しましょう。

失礼しました。

通常はb.txtのパスはわかっています。
しかしb.txtのフォルダを移動することがあります。
そこでVBで絶対的なパスを書くのではなく
「パス=b.txtのあるフォルダ」
と書けないか?と思い、質問した次第です。

[ツリー表示へ]
タイトルRe^3: ファイルへのパスを取得する方法
記事No11502
投稿日: 2008/02/21(Thu) 17:07
投稿者魔界の仮面弁士
> 通常はb.txtのパスはわかっています。
> しかしb.txtのフォルダを移動することがあります。

そこのところを、もっと詳しく説明してください。
その移動というのはどういった物でしょうか?

たとえば、ログ出力などのために、通常は
 C:\Log\b.txt
のように吐かれている物が、一日の終わりに
 C:\Log\2008\02\21\b.txt
に移動される…といった仕組みなのであれば、移動先の特定は容易ですよね。

ユーザが勝手に移動したことを追跡したい…という意味であれば、
捜索対象をどこまで広げるのかによって、異なってくるでしょう。
(基本的には、ディレクトリを列挙していって探し出すことになるでしょうし)


・ネットワーク上の別のサーバに移動されることもあるのか?
・同じコンピュータ上のディスク内だけなのか?
・そもそも、別のドライブに移動される事はなく、同一ドライブ内での移動なのか?
・あるいは、下位ディレクトリへの移動だけなのか?
・もっと限定的で、移動先となり得るディレクトリが、あらかじめ決まっているのか?

[ツリー表示へ]
タイトルRe^4: ファイルへのパスを取得する方法
記事No11505
投稿日: 2008/02/21(Thu) 17:30
投稿者BT6
検索対象が確定すれば当サイトの逆引きヘルプにある
「指定フォルダー以下(サブフォルダー内を含む)の全ファイルを列挙する」を参考にてファイルを検索出来ます。

但し、検索結果に同名ファイルが複数存在した場合は、何らかの条件を与えてファイル(フォルダ)を特定するか、ユーザーに選択してもらう必要があるでしょう。

[ツリー表示へ]
タイトルRe^4: ファイルへのパスを取得する方法
記事No11507
投稿日: 2008/02/21(Thu) 18:29
投稿者Goro
回答ありがとうございます。

> > 通常はb.txtのパスはわかっています。
> > しかしb.txtのフォルダを移動することがあります。
>
> そこのところを、もっと詳しく説明してください。
単純に
b.txtがaaaフォルダ内にあったとします。
しかしaaaフォルダ内のファイルが多くなってきて、わかりづらくなったので
b.txtをbbbフォルダに移動する・・・といった
私が人為的に移動するといった感じの移動です。
ですから
私がVB側のパスを書き換えればすむことなのですが、
そうしないですむ方法があれば知りたかったわけです。

> ユーザが勝手に移動したことを追跡したい…という意味であれば、
そうです。

> ・ネットワーク上の別のサーバに移動されることもあるのか?
> ・同じコンピュータ上のディスク内だけなのか?
> ・そもそも、別のドライブに移動される事はなく、同一ドライブ内での移動なのか?
> ・あるいは、下位ディレクトリへの移動だけなのか?
> ・もっと限定的で、移動先となり得るディレクトリが、あらかじめ決まっているのか?

私もそれほど深く考えませんでした。
逆に追跡が簡単ですむ程度の移動に心がけようと思います。

[ツリー表示へ]
タイトルRe^5: ファイルへのパスを取得する方法
記事No11508
投稿日: 2008/02/22(Fri) 09:38
投稿者よねKEN
> > ユーザが勝手に移動したことを追跡したい…という意味であれば、
> そうです。

ユーザがそのフォルダを指定できるようにするとよいのでは?

[ツリー表示へ]
タイトルRe^6: ファイルへのパスを取得する方法
記事No11509
投稿日: 2008/02/22(Fri) 11:17
投稿者Goro

回答ありがとうございます。

> ユーザがそのフォルダを指定できるようにするとよいのでは?
最初そう思ったのですが
自動的にパスを取得することが簡単にできればと
思ったのです。

[ツリー表示へ]
タイトルRe^7: ファイルへのパスを取得する方法
記事No11511
投稿日: 2008/02/22(Fri) 11:52
投稿者魔界の仮面弁士
> 自動的にパスを取得することが簡単にできればと
> 思ったのです。

「ショートカットファイル」には、リンク切れパスの自動追跡機能がありますね。
『〜〜を探しています。自分で探す場合は、[参照]をクリックしてください。』
などと表示されるやつです。

この追跡機能は、名前以外にも、サイズ/日付/ファイルの種類などを見た上で、
もっとも可能性が高いと思われたファイルを探し出してくれるため、一応、
これを利用するという手はあります。


ただ、ショートカット ファイルの追跡機能を使うにしても、自力実装するにしても、
「同名のファイルがあって、しかも元のファイルが削除されていた場合」などにおいて、
別のファイルを拾ってしまう可能性はあるわけですから、自動的に取得したとしても、
最終的には、ユーザの判断が必要になるでしょうね。

[ツリー表示へ]
タイトルRe^7: ファイルへのパスを取得する方法
記事No11512
投稿日: 2008/02/22(Fri) 12:24
投稿者
> 自動的にパスを取得することが簡単にできればと
> 思ったのです。

毎回ファイルを探し回るよりも
ファイルのパス情報をiniファイルとかに持たせておいて
ファイルを移動させるタイミングでそこも編集するようにしとけば
効率的なような気もします^^

[ツリー表示へ]
タイトルRe^3: ファイルへのパスを取得する方法
記事No11518
投稿日: 2008/02/22(Fri) 23:06
投稿者あきら。
> 「パス=b.txtのあるフォルダ」
> と書けないか?と思い、質問した次第です。

b.txtを画面にドロップして、パスだけ抜き出してはどうでしょうか?
初回およびファイルをドロップされた時だけ、.iniファイル等にパスを記述し、それを使うってのはどうでしょう?
一応画面上にもパスの記述は出しておいた方が、ユーザーが迷子にならなくていいかと思います。

[ツリー表示へ]