- ベストアンサー
エクセル マクロ OPENメソッド
いつもお世話になります。 OPENメソッドでファイルを開く時に、既にファイルを開いていて、内容を変更していると、「2重に開くと・・・」のメッセージが出てきます。 If Then ステートメントで、開いている時には処理を行わないようにしたいのですが、ヘルプで調べたりしたのですが、構文が分かりません。どなたか教えていただけますでしょうか。 また、このようなことが簡単に分かる書籍などご存知でしたら、あわせて教えていただけますでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どういった場面で使用するのでしょう? Function OpenCheck(FName As String) As Boolean Dim wb As Workbook OpenCheck = False For Each wb In Workbooks If UCase(wb.FullName) = UCase(FName) Then OpenCheck = True: Exit For End If Next wb End Function のような Function を作っておいて、 Sub Test() Dim s As String s = "C:\Test.xls" If OpenCheck(s) Then MsgBox s & " は開いてる", vbCritical Else MsgBox s & " は開いてない", vbInformation Workbooks.Open s End If End Sub のようにフルパスを渡すとか、、、
その他の回答 (1)
- p-22
- ベストアンサー率21% (69/320)
下記をご覧ください
お礼
お礼が遅くなりまして申し訳ございません。 ありがとうございました。今回の問題以外にも、色々参考にさせていただきました。
お礼
お礼の返事が遅くなりまして申し訳ございませんでした。 ありがとうございました。教えていただきましたものを参考に、解決できました。