- 締切済み
「パス名が無効です」の発生原因
客先に納入した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はレコードで読み書きするためのユーザ定義型変数です。 上に記述した他のプログラムも同様の処理でファイルアクセスを行っています。 ファイルオープン前にファイルの有無チェックは行っています。 この中の処理で「パス名が無効です」が発生する要因が分からず困っています。 自分だけではなく他のプログラムもアクセスすることが要因としてあるだろうとは思うのですが、どのような状況になれば発生するかが分かりません。 もし、なにか分かる方がいらっしゃいましたらご教授お願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- hisappy
- ベストアンサー率46% (184/392)
- ProKaseifu
- ベストアンサー率51% (98/192)
- ProKaseifu
- ベストアンサー率51% (98/192)
- A88No8
- ベストアンサー率52% (834/1602)
関連するQ&A
- VB実行時エラー75:「パス名が無効です」について
VBについて分からない事があり、投稿しました。 VBでDB(オラクル)のテーブルのデータをFD内のテキストファイルに 書き込むプログラムを作成しています。ちなみにFDは複数枚使用します。 (例:番号1のデータは1枚目のFD、番号2のデータは2枚目のFD・・・) このプログラムをボタンのクリック時イベントで書くのですが、 まずFDがマシンに挿入されているかを調べる為、 Open 「FD内のテキストファイルのパス」 For Input As #FileNo という風に行っており、FDが挿入されていない場合のみ、処理を中断し、 その他のエラーでは処理を中断しないようにしています。 そして、FDが挿入されていると、1枚目のFDにデータを書き込む処理をして、書き込んだ後にFDを取り出し、 次に2枚目のFDを挿入し、FDにデータを書く・・・ というような処理を行っているのですが、 2 枚目以降でFDを入れ替えて処理を継続すると、実行時エラー75「パス名が無効です」が発生します。 原因として考えられるのは、 マシン側がFDを差し替えたという状態を認識できないためにエラーが発生するものだと思っています。 (違うかもしれません) 対処としては、このエラーが発生した場合は、処理を中断せずに継続するという方法もあるのですが、 このエラーを発生させないようにしたいのですが、対処の仕方が全く分かりません。 もし何かわかる方がいらっしゃいましたら、ご教授御願い致します。
- 締切済み
- Visual Basic
- 【C#】パス名で無効な文字
いつも教えて!gooにお世話になってます。 C#に関して質問です。 VisualC#2008を使用しています。 csvファイルを読み込むプログラムを作成しているところですが、つまづいています。 ボタンを押すとcsvファイルが読み込めるようにしたいのですが、 「パス名に無効な文字が含まれています」と表示され、強制終了してしまいます。 以下のようにパス名を指定しているのですが、何か無効な文字が含まれているのでしょうか? お手数ですが誰かご回答よろしくお願いします。 StreamReader sr = new StreamReader("C:\\Documents and Settings\admin\\My Documents\\Visual Studio 2008\algorithm\algorithm\algorithm\readfile\\shortfile.csv",Encoding.Default);
- 締切済み
- C・C++・C#
- DVDAuthorGUIでオーサリングすると「パス名が無効です」とエラーが出る
題名の通り、フリーソフトのDVDAuthorGUIでオーサリングしようとすると、「パス名が無効です」というエラーが出て、強制終了します。 それでいろいろ調べてみたのですが、「ファイル名やフォルダ名に日本語を使わなければよい」というアドバイスがあったので、やってみたのですが変わりませんでした。Windows Vistaを使っています。
- ベストアンサー
- フリーウェア・フリーソフト
- 無効なパスというエラーメッセージが出てフォームが開かない
Access2000で検索システムを作りました。条件を入力したらマッチするデータが表示される(フォームを開く形にしています。)という流れです。それまで正常に機能していたのですが,ネットワーク上のパソコンの名前を変えたところ、「'\\変更前のパソコン名\****\**.mdb'は無効なパスです。パス名を正確に指定しているか、またはファイルが属するサーバーに接続しているかを確認して ください。」というエラーが出てフォームが開きません。 エラーが出て止まってしまう箇所の記述は DoCmd. Openform "フォーム名"となっています。フォーム名の前にパスを指定することができるのでしょうか?ヘルプではさがせなかったのですが。どなたか回避方法を教えてください。
- 締切済み
- オフィス系ソフト
- MkDir パス名が無効です
ファイル名は取得できているはずなのですが。 エラー75「パス名が無効です」とエラーになり止まってしまうのですが、 ファイルはできているんです。 何がいけないんでしょうか? '------------------------------------ Private Sub コマンド35_Click() Set db = CurrentDb Set rs = db.OpenRecordset("Q_03_管理票_YES") Dim var1 As String var1 = rs.[管理番号] Dim var2 As String var2 = rs.[関連作業依頼] Dim NewFolderName1 As String Dim FileName1 As String NewFolderName1 = CurrentProject.Path & "\作業依頼対応\" & var1 & "\" & "回答分" & "\" & var2 FileName1 = Dir$(NewFolderName1, vbDirectory) 'ファイル名を得る '---ファイルを作成 If (FileName1 = "") Then 'ない場合は、作成する。 Dim myFileSystem As New Scripting.FileSystemObject myFileSystem.CreateFolder NewFolderName1 MkDir NewFolderName1 MsgBox "ファイル作成" Else '---ファイルが存在する場合 MsgBox "ファイルはあります" End If End Sub
- ベストアンサー
- Visual Basic
- 8.3形式のファイル名が無効になっています
ナショナルのホームページから、好みのデスクトップ用の画像をダウンロードしようとしました。 すると、「情報1693コマンドラインの引数が無効です」と言うエラー表示されます。 そこで、色々と調べていましたら、”8.3形式のファイル名が無効になっている場合に発生することが確認されています”等と表示されます。 この、”8.3形式のファイル名が無効になっています”とはどういうことでしょうか? ご指導願います。
- ベストアンサー
- フリーウェア・フリーソフト
- VBのKillについて
皆様いつもお世話になっております。 質問なのですが VBの構文の一部で Dim strFilename as string strFilename = "C:\Temp\*.*" Kill strFilename とすると、指定したフォルダの中身が削除されるのですが、このフォルダ内に以下のpdfファイルを入れると、エラーが発生してしまいます。 テキストファイルで約同容量のファイルの削除も試み成功しました。 また、10KB程度のpdfファイルも削除できます。 何が原因かお分かりの方おりませんでしょうか? 【詳細】 ファイル名:J00932_4.pdf ファイルサイズ:8,531KB エラーメッセージ:パス名が無効です。 どうぞよろしくお願いします。
- ベストアンサー
- Visual Basic
- タイトルにフルパス名を表示したい。
Access2003、Excel2003についてですが、タイトルにファイル名だけ じゃなくてパス名も表示させることは可能でしょうか? いくつも同じファイル名のものがある場合、どれが開いているのか わからなくなるときがあります。
- ベストアンサー
- オフィス系ソフト
- パスが作られるまで待っているプログラムは???
C#であるプロセスにより特定のパスが作られるのを確認するものを作成したいのですが・・・ おそらくループを使わなくてはいけないかと思うのですが、非常にループ処理が苦手でして・・・ どなたかご教示いただけませんでしょうか? 例えばとあるプログラムが「C:\hogehoge\hugahuga」というパスを処理中のどこかで作るとします。 このパスが出来るまで待ってそのなかに出来るファイルを読み込んで1行だけ書き換えたいのですが・・・ グルグルループさせるとしたらエラー対策もしなくてはいけないかと思うのですが、どのように作ればいいのでしょうか?
- ベストアンサー
- C・C++・C#
- 新規作成ファイルパスが有効か無効か判定したい
こんにちは。 VC++を使用してWindows上で動作するプログラムを作成しているのですが、ユーザに絶対パスをテキストで入力させ、そのパスが存在しなければ、フォルダとファイルを新規作成するかどうか問い合わせるという処理を行いたいと考えています。 そこで質問なのですが、 ・有効なパス設定で存在しないフォルダ ・無効なパス 上記を判定したいのですが、現状区別が付けられないでいます。実際には、以下のように処理しています。 OutputFilename:CString型、絶対パス(ファイル名含む)が入っている。 OutputPath:CString型、絶対パス(上記から「\ファイル名」を除いたもの) // 出力ファイルのパス存在チェック pathlen = OutputFilename.ReverseFind('\x5c'); // 最後の\記号までの文字数を取得 if(pathlen == -1) return -1; // エラー OutputPath = OutputFilename.GetBufferSetLength(pathlen); nRcd = _chdir(OutputPath); if(nRcd){ if(errno == ENOENT) return -1; ※ } ※無効なパス(例えばabc\bcd\efgなど)であっても、存在しないパス(例えばC:\tempは存在し、その配下には存在しないフォルダ名を指定-C:\temp\abc\def)であっても、同様に_chdir関数が失敗し、errnoにENOENTが入るようです。 どなたかご存知の方がおられましたら、どうかご教授お願いいたします。
- ベストアンサー
- C・C++・C#
補足
回答ありがとうございます。 Openするファイルのパスにスペースは入っていませんし、文字数も30字程度なので問題ありません。 既に存在しているファイルに対して処理を行っているので、作成可能ファイル数の上限は大丈夫です。 連続稼働していて、他のプログラムからも同じファイルをアクセスしているためにメモリを破壊してしまうような可能性があるのでしょうか? 何日かはメンテナンスで停止することもありますが、3年間ほど稼働し続けている状態で今までに一回も発生しておらず、発生直前の1秒前にも同じ処理を行っていますが、まったく問題ありませんでした。 メモリが破壊されてしまう可能性を検証することを考えてみます。