• ベストアンサー

エクセル マクロ OPENメソッド

いつもお世話になります。 OPENメソッドでファイルを開く時に、既にファイルを開いていて、内容を変更していると、「2重に開くと・・・」のメッセージが出てきます。 If Then ステートメントで、開いている時には処理を行わないようにしたいのですが、ヘルプで調べたりしたのですが、構文が分かりません。どなたか教えていただけますでしょうか。 また、このようなことが簡単に分かる書籍などご存知でしたら、あわせて教えていただけますでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.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 のようにフルパスを渡すとか、、、

7-samurai
質問者

お礼

お礼の返事が遅くなりまして申し訳ございませんでした。 ありがとうございました。教えていただきましたものを参考に、解決できました。

その他の回答 (1)

  • p-22
  • ベストアンサー率21% (69/320)
回答No.1

下記をご覧ください

参考URL:
http://www.fuji.ne.jp/~excelyou/
7-samurai
質問者

お礼

お礼が遅くなりまして申し訳ございません。 ありがとうございました。今回の問題以外にも、色々参考にさせていただきました。

関連するQ&A

専門家に質問してみよう