プロが教えるわが家の防犯対策術!

XPの環境でaccess2000のステートメントなどが正常に動作しません。Windows98seやwindowsMeの環境では正常に動作します。
例えば、MKDIRやsusst.exeなどです。

A 回答 (7件)

なんか解決していないようなのでちょいテストコードを




Private Const DIR_TEST   As String = "C:\hogehoge"
Private Const DRV_VIR    As String = "Z:"

Private Sub CmdTest1_Click()
  'ディレクトリ作成
  Call MkDir(DIR_TEST)
End Sub

Private Sub CmdTest2_Click()
  Dim strCommand   As String
  '仮想ドライブ設定
  'strCommand = Environ("windir") & "\system32\subst " & DRV_VIR & " " & DIR_TEST
  strCommand = "subst " & DRV_VIR & " " & DIR_TEST
  Call Shell(strCommand)
End Sub

Private Sub CmdTest3_Click()
  Dim strCommand   As String
  '仮想ドライブ解除
  'strCommand = Environ("windir") & "\system32\subst " & DRV_VIR & " /d"
  strCommand = "subst " & DRV_VIR & " /d"
  Call Shell(strCommand)
End Sub

Private Sub CmdTest4_Click()
  'ディレクトリ削除
  Call RmDir(DIR_TEST)
End Sub


試験環境:
・WinXP+Ac2002
・Win2K+Ac2002runtime
・Win2K+Ac2000

参照設定:
・Visual Basic For Applications
・Microsoft Access *.* Object Library

上記環境で正常動作を確認しています
NT系しか検証していませんが...
(もしかして釣りですか?)
    • good
    • 0

>コマンドプロンプトでの操作は正常ですが、VBAの中でエラーが発生します。



そうなんですかぁ。システム自体に問題があってコマンドプロンプトでも正常に動作しないんじゃないかと勝手に推測していたんですけど、そうじゃないんですね。
susst.exe って、subst.exe のことですよね。Win98 や WinMe では正常に動作して WinXP でも正常に動作しなくて、しかもそれがファイルやフォルダ関係となると、権限関係くらいしか思いつかないですが・・・。Access でもコマンドプロンプトでも、同じユーザーで実行してるんですよね?お役に立てなくて申し訳ないですが、よくわかりません。
    • good
    • 0

原因として思いつくのは


・MKDIR の引数(つまり作成したいディレクトリ名)に空白が含まれている。
 ディレクトリ名を""で囲むとどうでしょうか?
・susst.exeに対するpathが通っていない。
 exe名をフルパスで指定するとどうでしょうか?
    • good
    • 0

「正常に動作しません」とはどういう状況なのでしょうか?何かエラーメッセージが出ますか?それとも、何のエラーメッセージも出ないけれど、期待したとおりに実行されていないということでしょうか?


もし、何かエラーメッセージが出ているのなら、何かの手がかりになるかもしれませんので補足にでも書いてください。
それと、MKDIR はわかるんですが、susst.exe とは一体何でしょうか?私は今まで聞いたこともありませんし、Google なんかで検索してみてもそれらしいものは検索に引っかかりませんでした。 susst.exe って、何をするものでしょうか? Shell 関数で susst.exe という実行ファイルを実行しているということでしょうか?XPのコマンドプロンプトや「ファイル名を指定して実行」で実行すると正常に動作しますか?

この回答への補足

mkdirのエラーは特にメッセージはでません。
コマンドプロンプトでの操作は正常ですが、VBAの中で
エラーが発生します。

susst.exeはdosコマンドで、仮想ドライブの設定で
つかいます。これは、ステートメントでないので、
shell関数を用いて使用します。
しかし、mkdirと同じで、VBAでエラー、コマンドプロンプトではうまくゆきます。

補足日時:2004/03/13 13:57
    • good
    • 0

>参照設定のダイアログボックスの中に、


>参照不可という文字は見出せません。
参照不可はないのでしょう。
そういうことなら、申し訳ありませんが、他の原因はちょっと思いつきません。
    • good
    • 0

>参照可能なライブラリファイルはたくさんありますが、


ですから、「参照不可」になっている項目はありますか?
ある場合は、チェックを外して下さい。
参照不可の原因は、バージョン違いが多いので、参照不可になっている項目と同じ項目でバージョンが違うものをリストから探して、参照設定をして下さい。

この回答への補足

参照不可の意味がわかりません。
参照設定のダイアログボックスの中に、参照不可という
文字は見出せません。今現在選択されているファイルに
何かマークでも付加されるのでしょうか?
申し訳ありません。

補足日時:2004/03/12 15:12
    • good
    • 0

こんにちは。

maruru01です。

とりあえず、VBE画面のメニューの[ツール]→[参照設定]で参照不可になっている項目がないか確認して下さい。
(バージョン違いなどでそうなっている場合があります。)
あったら、チェックを外し、必要なら正しく参照設定をし直して下さい。

この回答への補足

参照可能なライブラリファイルはたくさん
ありますが、どのファイルが選択されてないと
いけないのでしょうか?

補足日時:2004/03/12 12:06
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す