| 
    
     |  | つん さん、Jakaさん おはようございます。
 
 
 >私は、イマイチ
 >Auto_Openと、Workbook_Openの使い分けがよーわかってないんやけど、
 >どうなんでしょう?
 
 私は、新しいもの好きなので通常だとWorkbook_Openを使うのですが、このサイトで
 だいぶ前にWorkbook_Openにはバグがあるというご指摘を受けました。
 実際には、そのバグに遭遇した経験がありません。
 
 但し、その時にAuto_Openのメリットを教えていただいてAuto_Openを使っています。
 例えば、Auto_Openを記述するブックを「autoopen.xls」して、以下のコードが
 書けるそうです。
 
 '=============================
 Sub auto_open(Optional in_flg As Boolean = False)
 If in_flg = False Then
 MsgBox "起動しません"
 ThisWorkbook.Close False
 Else
 MsgBox "ようこそ"
 End If
 End Sub
 
 
 これだと、直接ユーザーがこのautoopen.xlsを開いた場合は、エラー(エラーするコード)になります。
 
 別のブックで(例えば、readbk.xls)で、
 
 '===================================================
 Sub test()
 Dim bk As Workbook
 Set bk = Workbooks.Open("D:\My Documents\TESTエリア\autoopen.xls")
 Application.Run "autoopen.xls!auto_open", True
 End Sub
 
 等とすると正常処理コードが動く。
 これを教えていただいてから、Auto_Open派になりました。
 
 
 |  |