![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
以前、同じ質問をしたことがあります。(QNo.3615620)
「ネットワーク障害などでサーバー上のエクセルブックが開けない時、かなり待たされてから次のメッセージが出ます。
実行時エラー'1004' 'Open'メソッドは失敗しました。'Workbooks'オブジェクト
しかもその間、Ctrl-Breakも受け付けてくれません。
正確に待ち時間は計ったわけではありませんが、10分くらいでしょうか。
なんとかこれを回避して、早い時間にエラーメッセージを出してコントロールを戻すことはできないでしょうか?
以下のVBAでオープンしています。
Workbooks.Open Filename:=myFileName, Readonly:=True
よろしくお願い申し上げます。 」
この時はネットワークに原因があるものと思い込んでおり、いただいた回答もVBAによるpingの発信及び受取りでした。
ところが、この症状が発生している状況で、Pingを行ってもほとんど瞬時に戻ってきました。
またDir関数で該当エクセルファイルを指定しても、直ちにコントロールが戻ります。
どうやら誰かが該当ファイルを排他制御で開いているのが原因の様です。
これを回避し、使えない場合直ちにメッセージを表示しコントロールを戻すことはできないでしょうか。
該当ファイルは使えなくて構いません。
エクセルが砂時計のままで何も受け付けない状態を回避したいのです。
よろしくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
こんにちは。
排他的オープンなら、以下のようにすれば、チェック出来ると思うのです。
>Dir関数で該当エクセルファイルを指定しても、直ちにコントロールが戻ります。
まあ、VBAでは、それをコントロールとは言わないけれども、意味は分かります。
-------------------------------------------------
Sub BookEnableChecker()
Dim MyPath As String
Dim myFno As Integer
Const Fname As String = "TestBook1.xls"
MyPath = "\\サーバー名 \○○\"
If Dir(MyPath & Fname) <> "" Then
myFno = FreeFile
On Error Resume Next
Open MyPath & Fname For Binary Lock Read Write As #myFno
Close #myFno
End If
If Err.Number = 70 Then
MsgBox "ブックは開いています", 16
ElseIf Err.Number = 0 Then
MsgBox "ブックは編集できます。", 64
Else
MsgBox "ブックを調べてください", 32
End If
On Error GoTo 0
End Sub
この回答への補足
教えていただいたロジックは入れてありますが、もう1ヶ月以上経ちますが、このような事象は発生しませんでした。
この質問は〆させていただきたいと思います。
どうもありがとうございました。
回答ありがとうございます。
使用するのは職場です。
トライするのは3連休の後になると思います。
結果は"補足"で報告いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Excel(エクセル) ネットワーク上のエクセルとリンクしている時にデータ更新をvbaで、refresh Allで行う場合の 2 2023/04/10 05:39
- Excel(エクセル) エクセルのマクロの有効について 4 2023/08/03 11:40
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- ノートパソコン ExcelファイルがDoxillionに突然、変わってしまい、エクセルファイルが開かず困っています。 4 2022/09/22 07:02
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
泣きながら食べたご飯の思い出
泣きながら食べたご飯の思い出を教えてください。
-
【VBA】ワークブックを開く時にエラーが出る場合と出ない場合の違いは?
Excel(エクセル)
-
workbooks.open 開けないファイルの対処法は?
Visual Basic(VBA)
-
VBA、Excelのworkbook.open について質問です これを記載してマクロ実行後、boo
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数をコントロール型で使用す...
-
C# ユーザコントロール内のボタ...
-
エクセルVBAでオプションボタン...
-
Groupboxの配下のコントロール...
-
VBAのエラーについて、”実行時...
-
ExcelVBAでListViewが使用できない
-
chr関数の呼び出しで「プロ...
-
'ckbl' コントロールは作成され...
-
vb.netで画面のコントロールId...
-
エクセル・VBA CheckBoxのオブ...
-
DataGridView、1セルに複数コ...
-
ユーザーフォームで動的(Me.Con...
-
C#で角が丸いテキストボックス
-
全てのオブジェクトのプロパテ...
-
ユーザコントロールのイベント...
-
EXCELでactivexコントロールを...
-
TabStripコントロールの上にLab...
-
PDQCommは今でも入手できますで...
-
ListViewのチェックボックスに...
-
C# Form上に配置されたコントロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
エクセルVBAでオプションボタン...
-
ExcelVBAでListViewが使用できない
-
ユーザーフォームで動的(Me.Con...
-
VBA ユーザーフォームの Keypre...
-
チェックボックスをオンにした...
-
Groupboxの配下のコントロール...
-
Labelコントロールの(左右)余...
-
コントロールを移動できない
-
C# Form上に配置されたコントロ...
-
EXCELでactivexコントロールを...
-
'ckbl' コントロールは作成され...
-
vb.netで画面のコントロールId...
-
アクセス特有の書き方?
-
エクセル コントロールツール...
-
C#で角が丸いテキストボックス
-
全てのオブジェクトのプロパテ...
-
変数をコントロール型で使用す...
-
コンボボックスの文字によるif...
おすすめ情報