Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


24149 / 76738 ←次へ | 前へ→

【57941】Re:マクロのエラー処理
発言  Yuki  - 08/9/22(月) 17:00 -

引用なし
パスワード
   ▼non さん:
>エクセルシート上のボタンを押すと「ファイルを開く」ダイアログボックスが開き,その「ファイルを開く」ダイアログボックスから,任意のファイルを開いてマクロを実行させるという設定です。
>ここで,同一ファイル名のファイルが既に開かれていて,2重に開こうとすると,以下のメッセージが表示されます。
>
>「"ファイル名"は既に開いています。2重に開くと,これまでの変更内容は破棄されます。"ファイル名"を開きますか?」
>
>ここで,「はい」を選択した時はそれ以降の処理がうまく行くのですが,「いいえ」を選択した時に「実行時エラー’1004’」というのが表示されてしまいます。
>そこで,「いいえ」を選択した時に最初のボタンが表示されたエクセルシートに戻るようにマクロを組直したいのですがどのような構文を組めばよいかがわかりません。
>教えていただけないでしょうか?

こんな感じで如何でしょうか。

  strFName = Application.GetOpenFilename("Excel File(*.xls), *.xls")
  If strFName = "False" Then Exit Sub

  On Error Resume Next
  intFNo = FreeFile
  Open strFName For Binary Access Write Lock Write As #intFNo
  Close #intFNo
  
  If (GetAttr(strFName) And vbReadOnly) = 0 And Err.Number Then
    MsgBox "他で開かれています。閉じてから実行して下さい。", _
         vbInformation
    Exit Sub
  End If

1 hits

【57934】マクロのエラー処理 non 08/9/22(月) 0:11 質問
【57936】Re:マクロのエラー処理 りん 08/9/22(月) 7:12 回答
【57943】Re:マクロのエラー処理 non 08/9/23(火) 0:12 質問
【57951】Re:マクロのエラー処理 りん 08/9/23(火) 8:23 回答
【57963】Re:マクロのエラー処理 non 08/9/23(火) 21:59 お礼
【57941】Re:マクロのエラー処理 Yuki 08/9/22(月) 17:00 発言
【57944】Re:マクロのエラー処理 non 08/9/23(火) 0:21 質問

24149 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free