• ベストアンサー

ファイルのパスについて

おせわになります。VBでファイルにアクセスしてデータのInputやOutputを行いたいのですが、常にVBが起動したパスにデータを保存するにはどのように明記すれば良いのでしょうか、例えばこのEXEファイルをフロッピーで起動した時はそのフロッピーにデータファイルを作成するというようにプログラムしたいのですが教えて下さい。

  • homma
  • お礼率84% (744/884)

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

>App.Path & "\" & FileName.txtではだめですよね。 そりゃ、ダメでしょうね。 App.Path & "\FileName.txt" にしないと。 または、FileNameが変数なら、 App.Path & "\" & FileName & ".txt" ですよ。 文字列型変数(App.Pathも同等)と「""」で括られた実際の文字列との連結方法は理解出来ていますか?

homma
質問者

お礼

maruru01様、ありがとうございました。今更ですがVB初心者なもので参考書片手に取り組んでいますがいまいちわかりにくくて、でも、このHPは大助かりです、ご面倒でもこらかもよろしくお願いいたします。

その他の回答 (5)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.6

皆さんの回答だと、フォルダを作っていないフロッピディスクに保存できません。 App.Pathは、ルートディレクトリだと X:\ と返します。 よって、 If Right(App.Path, 1) = "\" Then App.Path & FileName Else App.Path & "\" & FileName End If とする必要があります。

homma
質問者

お礼

ありがとうございます。maruru01さんの明記でかいけつしました、取りあえずフロッピーからEXEファイルを起動してファイルの記録を行うと問題なく出来ました。お手数をおかけしました。

  • soma3
  • ベストアンサー率39% (16/41)
回答No.4

あちゃー CurDir駄目みたいですね。 私も勉強になりました。 hommaさんウソ書いてごめんなさい。

homma
質問者

お礼

お手数をおかけしました。

  • momoturbo
  • ベストアンサー率55% (49/88)
回答No.3

VB6の場合 App.Path 詳しくはMSDNで・・

参考URL:
http://www.microsoft.com/japan/msdn/weeklynews/tip_week.asp
homma
質問者

お礼

ありがとうございます。参考URL見てみます。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 実行ファイルの絶対パスは、 App.Path で取得出来ます。

homma
質問者

補足

ありがとうございます、回答のApp.Pathをの使い方を教えて下さい、「Open」の後に App.Path & "\" & FileName.txt ではだめですよね。よろしくお願いします。

  • soma3
  • ベストアンサー率39% (16/41)
回答No.1

CurDirでEXEの起動ファイルパスが取得できませんか?

homma
質問者

お礼

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

関連するQ&A

  • VBAで、VBのapp.pathと同じ機能は?

    ExcelVBAで、そのExcelファイルが起動されたフォルダーパスを取得する方法はあるのでしょうか? application.pathでは、excel.exeのあるフォルダーパスが返されます。 VB(ver6)のapp.pathのように、そのファイルが起動された(保存されている)パスを知りたいのですが、何か方法はないでしょうか? よろしくお願いします。

  • EXEのパス名を取得したいのですが・・・

    お世話になります。度々質問させていただいてますmmc820です。 現在、あるプログラムを作成しているのですが、VB上からEXEを起動させるのですが、この時にEXEのパス名を取得したいのです。 いろいろ調べてみましたが、なにぶん初心者で理解し切れません。 できるだけ簡単な方法があればと思い、質問させていただきました。 相対パスで指定できれば良いのですが、その方法すらわかりません。 どうか皆様のお知恵をお借りできないでしょうか? 開発環境はWindows2000、VB6.0です。宜しくお願いします。

  • VB6.0で現在参照しているエクセルファイルの絶対パスを取得したい

    VB6.0で現在参照しているエクセルファイルの絶対パスを取得したい 環境:VB6.0/Excel2003/WindowsXP VB初心者です。 現在プログラム内で参照しているexcelファイルの絶対パスと、フォームのテキストボックスに入力された絶対パスを比較して、 それらが同一だった場合エラーを表示するというプログラムを作成しています。 プログラム内では、現在開かれているエクセルファイルの内容をチェックして、対象となるデータを持っているエクセルファイルを1つ選択し、データを取り込むという動きをしています。 現在開かれているファイルのパスと入力されたパスを比較する事は出来たのですが、 そうではなくデータを取り込んでいるエクセルファイルのみ比較したいのです。 (複数のファイルが開かれている場合、データを取り込んでいるファイルとは別のファイルのパスが入力されたファイルパスと同一だったときもエラーとなってしまうので..) データを取得しているところからはフルパスは取れそうにないので、ほかの方法を模索しています。 どうぞ宜しくお願い致します。

  • BMPファイルを作成し保存

    教えてください。 環境:VB6 sp5 winXP sp2 行いたいこと(アウトプット):BMPファイルを作成して、HDDなどに保存したいです。 入力情報(インプット):VBコード内で配列としてピクセル情報を持っています。1000*1000の画像で、変数ImageData(1000000)の中に256階調でデータが入っています。 配列内のデータを元に1枚の画像(bmp形式)を作成これを保存したいです。 わかるかた、教えてください。 サンプルコードなどの場所などを添付していただければ幸いです。 よろしくお願いします。 質問の意味がわからなければ、お知らせください、追記します。

  • AccessにリンクさせたExcelファイルのパスについて

    Windows2000、Excel2000、Access2000を使用しています。 Excelで作成したリストを、Accessにリンクして取り込みました。リンク元のExcelファイルとリンク先のAccessファイルの両方をCD-Rに焼き、別PCにデータを移しました。その別PCでAccessファイルを開くと、「リンク元Excelファイルがありません」という意味のエラーがでます。 リンク元Excelファイルのパスを変更する方法がありましたら、教えてください。 作成したデータを得意先に納品することが頻繁にあるので、データの保存場所が変わっても、いちいちリンク元ファイルのパスを変更しなくても参照できる方法があったら、ベストなのですが・・・。

  • CSVの作り方

    VBの初心者です。 VBでCSVファイルを新規で開いて 保存できたと思ったのですが、できていませんでした。 まだ何か足らないのでしょうか? ーーーーーソースーーーーー '取り合えず開いて保存 open app.path + "ファイル名"for output access write as #1 close #1 ーーーーーソースーーーーー

  • アクティブウィンドウ(ドキュメントファイル)のパス

    VB初心者です。 VB等でアクティブウィンドウのパスを取得する方法を探しています。 タイトルであればGetWindowTextで取得で可能ですし、 アプリケーションのパスであれば、  http://sumishiro.blogspot.jp/2009/09/blog-post_30.htmlが参考になりました。  しかしドキュメントファイルのパスを取得する方法がどうしてもわかりません。 例えば、ワードでtest.docxを開いているとき、そのウィンドウハンドルからwinword.exeのフルパスでなく、test.docxのフルパスを取得する方法です。(ワード、エクセル等だけでなく画像ビューアーが画像ファイルを開いているとき、その画像ファイルのフルパスの取得) どうぞよろしくお願いいたします。

  • 緊急・ビルダー7で 「指定されたパスのアクセス許可を持っていません」って。

    こんにちは、Win98でホームページビルダー7を利用しているnamerinです。 実は新規ファイルを保存しようと思ったところ「指定されたパスのアクセス許可を持っていません」という表示が出て、ファイルが保存できないんです。 ちなみに保存ファイルはフロッピーに保存しています。 HPはYahoo!ジオで作成し、ページ転送しています。 マジで困っているので、対処法を教えてください。

  • exeファイルにドラッグすることで動作するプログラム

    現在、exeファイルのアイコンにデータファイルをドラッグすることで、プログラムを動かし、データファイルを読み込んで処理するプログラムをVisualC++2008ExpressEdtionで作成しています。 ここで質問が2つあります。 <質問1>  データファイル名に日本語(2バイトコード)が含まれている場合、CreateFile関数でエラーとなります。ファイル名に日本語を含む場合どのようにすればよいか教えてください。 <質問2>  現在作成しているプログラムでは、処理結果をファイルに出力しています。出力ファイルのフォルダをexeファイルのある場所にしたいのですが、プログラムコード上で相対パスで指定すると、上手く動きません(別フォルダに出力ファイルが作成されます)。ドラッグによってexeファイルを起動する場合、exeファイルのあるフォルダを知るにはどうしたらよいのでしょうか?

  • EXEファイルに画像も含ませる(?)方法

     いつも勉強させていただいております。 質問させていただきます。どうぞよろしくお願いいたします。  VB2008のFormに下のようなコードでjpg画像を貼り付けております。    Form1.BackgroundImage = Image.FromFile(Path & "Form1.jpg")  ビルドしてできたEXEファイルを他のPCで実行しようとすると 指定したパスに画像が見つからない、といった内容のエラーが出ますが 絵のついたアプリを作成する際,画像群もEXEファイルと常に一緒に移動しないといけないのでしょうか??  画像をEXEファイルに含んでおいて、起動するとすでにFormに 画像が張り付いている...(普通そうだと思うんですが...) というやり方が分かりません.是非アドバイスいただけないでしょうか。  どうぞよろしくお願いいたします。

専門家に質問してみよう