アプリ版:「スタンプのみでお礼する」機能のリリースについて

ファイルを開く処理の前に、対象ファイルが開かれているかチェックして、開かれていたらエラーを表示する処理を以下のように記述したのですが、対象ファイルが開かれていないのにエラーになってしまいます。

エラーコードは『75』と表示されるのですが、ヘルプを見たり調べてみましたが、なぜエラーとなるのかが分かりません。

どなたか教えて下さい。宜しくお願いします。

*************************************************************
Public Path As String
Public Fmei1 As String
Public Full1 As String
Public Error As String

Private Sub CommandButton1_Click()


  Path = "\\ディレクトリ1-1\ディレクトリ1-2\ディレクトリ1-3"

  Fmei1 = "ファイル.xls"

  Full1 = Path & "\" & Fmei1

  Fopn

End Sub




Sub Fopn()

  On Error Resume Next

  Name Full1 As Full1

  If Err.Number Then(←ここでエラーコード『75』となってしまいます)

    Error = MsgBox("『ファイル.xls』を閉じて下さい。", _
    vbCritical, "処理中断")

    Err.Clear

    End

  Else

    Workbooks.Open Filename:=Path & "\" & Fmei1

  End If

End Sub

A 回答 (1件)

そのパス名だとネットワーク先のファイルになるかと思いますが、私の環境ではファイルへの権限が与えていない状態だと同じエラーがでましたよ。

権限を与えたら通りました。
エラー番号の内容についてはヘルプの「トラップできるエラー」で番号を調べておいて方がよいかと思います。エラーが出るのは何もファイルが開かれているからとは決められませんので。例えばファイルが存在しない場合のエラー(ナンバー53)もありうるかと思います。

あとちなみに
× If Err.Number Then
○ If Err.Number <> 0 Then
こうですよね?
    • good
    • 0
この回答へのお礼

早々にアドバイス下さり、ありがとうございます!

ご指摘下さった権限について確認している際に、ネットワーク上でファイルの残プロセスが残っていることが判明し、プロセスを切ることで処理が正常に動作するようになりました。

ありがとうございました。

お礼日時:2006/10/30 03:10

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