
No.4ベストアンサー
- 回答日時:
こんにちは、honiyonです。
本題とは少し離れてしまいますが、カレントのうまい使い方について...
カレントディレクトリを用いたファイル指定は、そのファイルの居場所を明確に指定出来ない反面、明確に指定出来ないからこそ、汎用的に使える一面があります。
例えば、ユーザーがインストールディレクトリ名が気に食わないからとディレクトリ名を変更してしまってもカレントを用いたファイル指定をしていればアプリケーションが正常に動作します。
また、おかしな応用ですが、ショートカットアイコンの作業フォルダの指定を変更すれば、本体とデータを別々のディレクトリで取り扱うなんていう事も可能です。
しかし、アプリケーションの動作途中でいきなりカレントを変更されてしまっては動作が不安定になる要因になります。 起動直後に現在のカレントのフルパスを取得し、内部に保持しておいて、ファイルを指定する際に、その保持しておいたカレントのフルパスを用いて、ファイルをフルパス指定する対策をとった方が良いでしょう。
まとめると、
1.起動時にカレントのフルパスを取得する。(Ex.c:\hoge\)
2.カレントのファイルを指定する場合は、「foo.txt」ではなく、1で取得したフルパスを使って「c:\hoge\foo.txt」と指定。
って感じです。
参考になれば幸いです(..
ありがとうございます。「本題とは少し離れて」とありますが、いえいえ、こういう話が聞きたいのです。なる程と思う反面、MS-DOSでのカレントディレクトリのありがたさは、Windowsではあまり発揮できないという感じでしょうか。
No.3
- 回答日時:
debug.print app.path
でアプリでアプリケーションパスは取れます
chdrive
chdir
curdrive
curdir
などを調べましょう。
No.2
- 回答日時:
こんにちは。
maruru01です。私も、カレントディレクトリの有効な利用法はあまりわかりません。
利点を挙げれば、KillやFileCopyステートメントなどで、カレントディレクトリにあるファイルを操作する場合に、フルパスを指定しなくてもよいというところでしょうか。
したがって、特定の場所のファイルにたいしてたくさんのファイル操作を行う場合は便利でしょうか。
ただし、コード上では現在のカレントディレクトリがわからないので、私ならカレントディレクトリ部分の文字列を定数化して使用します。
だいたいの場合、ファイル操作などは基本的にフルパスで指定するので、やっぱりカレントディレクトリなんてほとんど使わないですね。
私も誰かにカレントディレクトリの有効利用法を教えて欲しいです。
では。
ありがとうございます。やはりVBではフルパス指定が基本の様な気がします。でもせっかくだからカレントディレクトリの有効利用法、知りたいですね。
No.1
- 回答日時:
こんちには、honiyonです。
VBに限らず、Windowsアプリケーションのカレントは、デフォルトではアプリケーションの実行ファイルがあるでディレクトリとなります。
但し、ショートカットアイコンのプロパティ等で「作業フォルダ」というものが設定出来ます。これを設定すると、そのフォルダがカレントとなるようです。
参考になれば幸いです(..
ありがとうございます。ショートカットアイコンのプロパティでの「作業フォルダ」設定は、早速やってみます。とはいえ、だから何なんだと言われると困りますが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(OS) WindowsとMS-DOSの違いって何ですか? 5 2022/10/26 02:19
- Windows 7 Windows7でMicrosoft VirtualPC2007 SP1を使用する 9 2022/11/17 13:12
- マウス・キーボード マウスって便利な入力器具ですね。マウスに変わって使われる次世代の入力器具はどんな物になるでしょう 6 2022/10/05 14:44
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- その他(プログラミング・Web制作) DOSコマンドに詳しい方、お知恵をお貸しください 5 2022/11/04 20:55
- UNIX・Linux bashスクリプトのgrepで3XXの検索の仕方について 2 2022/09/06 21:35
- その他(プログラミング・Web制作) powershell で書いたプログラムでcd が動かない 5 2023/04/08 14:47
- その他(OS) MS-DOSでなければ動かないPCゲームをXPで動かす方法を教えてください。 3 2022/08/06 18:46
- モニター・ディスプレイ 画像解像度について 4 2022/05/30 16:05
- その他(ソフトウェア) F-BASICで計算中の実行が中途で勝手に止まり、大変困っています。 2 2023/03/02 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どんなプログラムを書いても指...
-
FTPでputすると空ファイルが出...
-
pythonでの日本語操作
-
C言語を用いたファイルの一括削...
-
セルに入力されたパスでフォル...
-
エクセルVBAで相対パスでファイ...
-
優しい言葉で教えて下さい。
-
マイクラでPythonのプログラミ...
-
[asp/vbs]FileExistsのパスの指...
-
Excelマクロからのバイナリデー...
-
C言語初心者の質問失礼します。
-
バッファとは何ですか
-
stdio.hをオープンできない…
-
教えてください!vectorworksに...
-
教えてください!vector works...
-
フリーソフトウェアでflaファイ...
-
JARファイルをEclipseを使って...
-
コンパイルするときに、ファイ...
-
jarの開き方を教えてください。
-
VBAでHTMLファイルを扱うにはど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どんなプログラムを書いても指...
-
フルパスから最後のディレクト...
-
「UNCパスはサポートされません...
-
FTPでputすると空ファイルが出...
-
絶対パスの絶対て英語で何でし...
-
fopenで別ディレクトリにファイ...
-
ExcelVBAでカレントディレクト...
-
ファイルやディレクトリの存在...
-
windows.hがincludeされない
-
セルに入力されたパスでフォル...
-
ネットワーク上のコンピュータ...
-
Ubuntu テキストファイルをどこ...
-
C言語を用いたファイルの一括削...
-
webアプリケーションでの画像フ...
-
新規作成ファイルパスが有効か...
-
ファイルダイアログのカレント...
-
ExcelVBA サーバーの(共有フォ...
-
GetPrivateProfileStringでini...
-
エクセルVBAで相対パスでファイ...
-
マイクラでPythonのプログラミ...
おすすめ情報