パスが見つかりませんか?初心者向けの解決方法とは

このQ&Aのポイント
  • VB初心者の方がファイルパスが見つからないというエラーメッセージに出会った場合、解決方法をまとめました。初心者でもわかりやすい内容です。
  • ファイルを開く際に指定するパスが正しくないため、パスが見つからないというエラーメッセージが表示されています。正しいパスを指定するか、ファイルが存在するかを確認してください。
  • また、パスに日本語やスペースが含まれている場合もエラーが発生することがありますので、パス名を確認してみてください。
回答を見る
  • ベストアンサー

パスが見つかりません。

初めまして。宜しくお願いします。 VB初心者です。 Public   Const FTL_ZIK = "C:\Suoko\FL_ZIK.csv" と定義し、   読み込みするファイル(FTL_ZIK)を FN に変えたとして FN = FreeFile Open FTL_ZIK For Input As FN  でフォルダ「Suoko」にはFL_ZIK.csvはあります。   実行したら パスがありませんのメッセージで デパックを見たら    Open FTL_ZIK For Input As FN の部分が示されていました。   何か抜けているのでしょうか? 教えて下さい。   

  • 3ei
  • お礼率0% (0/2)

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

  • ベストアンサー
  • miya_777
  • ベストアンサー率31% (44/140)
回答No.1

パスの記述に誤りがあります。 この場合は、「C:\Suoko\」の何処かに誤りがあります。 原因的には、全角・半角の違いや、ディレクトリ名にスペース文字を使っている等が考えられます。 エクスプローラ等で、フォルダの名前変更を利用してそのフォルダ名を正確にコピーしていましょう。 それでも、駄目でしたら、Openの直前で「Debug.Print FTL_ZIK」としてデバッグウィンドウに内容を表示してみてください。

その他の回答 (1)

  • Masato_a
  • ベストアンサー率21% (13/60)
回答No.2

私なら、Dir関数で調べてみますね。 もし、Dir(FL_ZIK) = "" なら、ファイル名に誤りがあることが確定です。

関連するQ&A

  • VB5でCSVデータをAccess97のDBへセット

    普段はVB.NETの開発をすこししているのですが VB5のプログラムの修正の依頼が来て困っています。 CSVのデータをVB5でAccess97のDBへデータセットしたいのですが VB.Netでは同様のプログラムを作成した事があるのですが VB5は全然仕様が違うので困っています。 VB5でCSVを読み込んで配列にセットするにはどのように したらいいのでしょか?CSVを行で読み込むところは なんとか調べてわかりましたが、VB5ではSplitや配列が使えそうに ないのでどのようにしたらいいのかわかりません。 よろしくお願いします。 現在のソース Dim strTextLine As String Dim strTxtDat As String intFileNo = FreeFile Open "c:\infile.csv" For Input As #intFileNo Do While Not EOF(intFileNo) Line Input #intFileNo, strTextLine Loop Close #intFileNo

  • 変数の頭「#」の意味

    VB初心者です。 VB5のOPEN関数等で見かける #変数名 の#はどういう意味でしょうか? ヘルプを見ると「省略可能」とありますが・・・ 指定した場合に何か意味を持つものなのでしょうか? 例 intFileNo = FreeFile Open "test.txt" For Input As #intFileNo

  • テキストファイルへの書き出し

    ExcelVBAについて教えてください。 Dim path As String Dim FullPath As String Path ="C:\" Dim FN As String FN ="abc.txt" Dim intFF As Integer intFF = FreeFile FullPath = Path & "\" & FN Open FullPath For Output As #intFF Print #intFF, FullPath Close #intFF とやると、Open FullPathのところで、実行時エラー 76、パスが見つかりませんと表示されてしまいます。 やりたいことは、Excel VBAでテキストファイルを新規につくり、そこへ書き出し、保存したいです。ファイル名はFullPathで指定したファイル名を新規で作り出し、それに対して書き出し、保存をしたいです。 何が間違っているのでこのようなエラーが表示されてしまうのでしょうか?回避方法がありましたらご教授お願いいたします。

  • 「パスが見つかりません」というエラー

    data.txtにセルの入力内容を出力したくて下記のようなプログラムを書きました。 ところが Open StrFN For Output As #IntFlNo のところで パスが見つかりません というエラーが出てしまいます。原因はわかりますでしょうか。 Sub test() Dim StrFN As String Dim i As Long Dim IntFlNo As Integer StrFN = "c\data.txt" IntFlNo = FreeFile Open StrFN For Output As #IntFlNo For i = 2 To 400000 Write #IntFlNo, Cells(i, 1) & "$" & Cells(i, 2) Next i Close #IntFlNo End Sub

  • VB6 「Line Input」でのリークについて

    VB6での「Line Input」命令使用時のメモリリークについて教えて下さい。 1分毎に3600行のCSVファイルを読み込むプログラムを作成しています。  (CSVファイルは1行500文字程度) 以下の【パターン1】は作成したプログラムの1部ですが、 (1)を3600回ループ時にパフォーマンスモニタでの「Private Bytes」が増加してしまいます。   (1ループ毎に増加せず、数十回ループする毎に増加します。) 試しに【パターン2】を作成し、CSVファイルはオープンのみ行い、 読み込みは行わずに、500文字の文字列が入った変数をコピーした場合は、 「Private Bytes」は増加しません。 基本的に違いは(1)と(2)の箇所だけなのですが、 「Line Input」命令の使用方法などで間違っている箇所があるのでしょうか? ご存知の方、教えて下さい。お願いします。 【パターン1】 Private Sub read_Timer() Dim i As Long Dim CsvDataBuf(3600) As String 'CSV読込み変数 Dim FP As Integer 'ファイル番号 (省略) : FP = FreeFile Open "C:\test.csv" For Input As #FP i = 0 Do While Not EOF(FP) And i <= (3600 - 1) Line Input #FP, CsvDataBuf(i)     ←(1) i = i + 1 Loop Close #FP : (省略) 【パターン2】 Private Sub read_Timer() Dim i As Long Dim CsvDataBuf(3600) As String 'CSV読込み変数 Dim tempBuf As String Dim FP As Integer 'ファイル番号 (省略) : tempBuf = "~500文字の文字列~" FP = FreeFile Open "C:\test.csv" For Input As #FP i = 0 Do While Not EOF(FP) And i <= (3600 - 1) CsvDataBuf(i) = tempBuf       ←(2) i = i + 1 Loop Close #FP : (省略)

  • CSVの作り方

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

  • 「パス名が無効です」の発生原因

    客先に納入したVBのプログラムなのですが、先日「75:パス名が無効です」のエラーが発生しました。 エラーが発生した部分はファイルをオープンし、読み込む処理を行っているところです。 このファイルは他のプログラムからもアクセスすることがあるためオープン時にロックして処理を行っています。 「55:ファイルは既に開かれています」や「70:書き込み出来ません」のエラーが発生することは分かっていたのでエラートラップを仕込んであります。 以下にその処理を抜粋しました。 intFileNo = FreeFile() Open strFileName For Random Lock Read Write As #intFileNo Len = Len(udtHeader) …(ここにエラートラップ処理が記述してあります) Get #intFileNo, 1, udtHeader close ※strFileNameには読込対象となるファイル名が格納されます。iniファイルから読み込んだ値と固定文字列から生成しているので空白になっていたりすることは考えられません。 ※udtHeaderはレコードで読み書きするためのユーザ定義型変数です。 上に記述した他のプログラムも同様の処理でファイルアクセスを行っています。 ファイルオープン前にファイルの有無チェックは行っています。 この中の処理で「パス名が無効です」が発生する要因が分からず困っています。 自分だけではなく他のプログラムもアクセスすることが要因としてあるだろうとは思うのですが、どのような状況になれば発生するかが分かりません。 もし、なにか分かる方がいらっしゃいましたらご教授お願いします。

  • エクセルVBAで相対パスでファイルを読み込めない

    こんにちは。 標題の通りです。 現在、エクセルのVBAを使用してちょっとしたものを作成しているのですが、 相対パスを使用して他のファイル(DATファイル)を読みこませようとしています。 しかし、どうにもうまくいかなかったのです。 最初は問題なく読み込めていましたが、あるとき突然パスが見つかりませんとの エラーメッセージが出るようになりました。 結局、開いているブックの絶対パスを取得するという方法にして思っている結果 は得られることができましたが、どうにも不思議なので質問しました。 コードは以下のように記述していました。 Open "..\ディレクトリ\ファイル.dat" For Input As #1 上記ではだめなのでしょうか? VBでは問題なかったような気がします。

  • ファイルの読み込みについて

    いつもお世話になっています。 早速質問なのですが、VBのファイル処理において固定長データのテキストファイル読み込みの処理で、 固定長データの改行コードがChr(10)になっているデータがあります。 下記のどのOpenステートメントを使用しても、1行読み込みではなく全行読み込まれてしまうのです。 ↓ファイルモード (1)Open strInFile For Input As #intInFile (2)Open strInFile For Random As #intInFile Len=文字数 (3)Open strInFile For Binary As #intInFile ちなみに読み込みのモードは ・Line Input ステートメント ・Get ステートメント の2つを使用してみました。 改行コードの種類に依存せずにデータを1行読み込む方法を教えていただきたいです。

  • VB2005 でCSVファイルの読み込み

    VisualBasic2005でカンマ区切りのcsvファイルを読み込み、各項目を配列に取り込みたいのですが、どうすればいいのですか? VB6の時のように書くとエラーになります。 VB2005にはopen命令はないみたいですね。 Open ファイル名 For Input As #1 input #1,s(1),s(2),s(3) close #1 ちなみにcsvファイルの内容は "会社名(co.xxx,sss)","工場名","製品名(aaa,xxx)" のように各項目中にカンマやピリオドが入っています。 VB6はVBAではダブルコーテーションで囲めば正常に読み込めました。 どなたか教えて下さい。よろしくお願いします。

専門家に質問してみよう