[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Workbooks.Openについて』(toshi)
ユーザーフォームのコマンドボタンに現在以下のコードにて別のBookを
「単価表」開いていますが、コマンドボタンを押すごとに以下の操作をす
る方法を教授お願いします。
1.「単価表」がオープンしていなければ、「単価表」をオープン
2.すでにオープン済なら「単価表」をアクティブにする。
以上の操作を可能にするには、以下どのような手直しが必要ですか?
よろしくお願いします。
Private Sub CommandButton5_Click()
Workbooks.Open(Filename:= _ "D:\Office\Database\単価表.xlsm"). _ RunAutoMacros Which:=xlAutoOpen End Sub
< 使用 Excel:Excel2013、使用 OS:Windows7 >
こういう感じでいけると思います。
Option Explicit
Sub test()
Dim wbpath As String Dim wbmei As String wbpath = "D:\Office\Database\単価表.xlsm" wbmei = Dir(wbpath) If wbchk(wbmei) = False Then 'ブックを開く処理 Workbooks.Open (wbpath) Else Workbooks(wbmei).Activate End If End Sub
Function wbchk(ByVal wbname As String) As Boolean
Dim wb As Workbook wbchk = False For Each wb In Workbooks If wb.Name = wbname Then wbchk = True Exit For End If Next wb End Function (カリーニン) 2014/12/01(月) 01:25
http://hanatyan.sakura.ne.jp/vbhlp/excel03.htm
(カリーニン) 2014/12/01(月) 01:37
(toshi) 2014/12/01(月) 02:16
書き忘れましたが、私のコードは別インスタンスで開かれたブックは補足できません。 リンク先のVB用のコードは別インスタンスのブックに対しても有効です。
リンク先の >指定のファイルが使用中かどうかを調べる (015) のコードはブックの名前を変えることでブックが開いているか否かを判定しています。 ブックが開いていたら名前を変えようとしたらエラーになりま すのでそれで判定でき ます。
また、このコードは元々付いていた名前に変えますので、もしブックが開いてなくて マクロによって名前が変えられたとしても問題ありません。 (カリーニン) 2014/12/01(月) 08:51
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.