|
つん さん、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派になりました。
|
|