[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ファイルを2重に開かない様にしたい』(二重瞼)
こんにちは いつも参考にさせて頂いています
Sub ファイル指定() MsgBox "前バージョンファイルを開いて下さい。" retry: Application.Dialogs(xlDialogOpen).Show On Error Resume Next If Sheets("sheet1").Range("H1").Value <> "○○○" Then MsgBox "無効なファイルです" ActiveWorkbook.Close SaveChanges:=False GoTo retry End If On Error GoTo 0 End Sub
このコードでファイルを指定して開きたいのですが まちがってファイルを2重に開くと 警告のboxが出て来ます "いいえ"を選ぶと Application.Dialogs(xlDialogOpen).Show が黄色くなりコードが止まります どのようにコードを修正すれば良いのでしょうか Thisworkbookは指定出来ない様にすることは出来ませんか?
Excel2003 WindowsXP
こんな感じで回避できませんか?(ROUGE) '---- Sub ファイル指定() MsgBox "前バージョンファイルを開いて下さい。" retry: On Error Resume Next Application.DisplayAlerts = False Application.Dialogs(xlDialogOpen).Show If Sheets("sheet1").Range("H1").Value <> "○○○" Then MsgBox "無効なファイルです" ActiveWorkbook.Close SaveChanges:=False GoTo retry End If Application.DisplayAlerts = True On Error GoTo 0 End Sub
GetOpenFilenameを使ったらどうでしょうか? (注、下記コードは、ローカルドライブにしか対応させてません) BJ
Dim FF As String, WB As Workbook FF = Application.GetOpenFilename("エクセルブック (*.xls), *.xls") If FF <> "False" Then On Error Resume Next Set WB = Workbooks(Dir(FF)) On Error GoTo 0 If WB Is Nothing Then MsgBox Dir(FF) & " は、開いてない。" Workbooks.Open (FF) Else MsgBox Dir(FF) & " は、開いてる。" End If End If
ROUGEさん BJさん 回答ありがとうございます
ROUGEさんに修正して頂いたコードはエラーには 成りませんでしたが "いいえ"を選んでも上書きで開いてしまう様です
BJさんのコードうまく行きました! ThisWorkbookを判別して指定のファイルを開くコードが出来そうです^^
ROUGEさん BJさん たいへんありがとうございました (二重瞼)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.