SubOpenステートメントやChDirステートメントなどで指定したパスやファイルの形式が不正のとき発生します。上のコードのように、読み取り専用ファイルをOutputモードやAppendモードで開こうとするときにも起こります。ファイルの属性を調べるには、GetAttr関数を使います。Subパスやファイル名が不正のときに、このエラーが起こりますが、パスやファイルの書式が正しくても、存在しないパスやファイルを指定したときには「パスが見つかりません」のエラーが発生します。似たエラーメッセージですが、こちらの方が起こりやすいエラーです。7の環境ではユーザーアカウント制御の設定によっては、Cドライブのルート(C:\)へのアクセスが制限されます。その状態では、次のコードを実行すると「パス名が無効です」エラーが発生します。Subコードは、どこも間違っていません。ユーザーアカウント制御によってCドライブのルート(C:\)へのアクセスが制限されるため、エラーになります。このエラーを回避するには、Cドライブのルートにアクセスしないか、ユーザーカウント制御の設定を変更します。