2015年2月6日金曜日

vba 致命的なエラーの一因

原因 キックするexeのプロパティに、互換モード、管理者として実行するにチェックが入っている
 
 




 経緯
win7 32bit
1.特定のpcだけ mibarcodeをvbaで動かすプログラムで、activexコンポーネントが作成出来ないエラーが出ていた
簡単なサンプルプログラムを作ると、
Sub TEST()
Dim MiBar As Mibarcd.Auto
Set MiBar = New Mibarcd.Auto ’<<<<この部分でエラー
Set MiBar = Nothing
End Sub

2.現行のmibarcodeをアンイストール、最新のバージョンのmibarcodeのインストールしたところ、「致命的なエラー」が出るようになった。
他のpc、winxp win764bit win7 32bitとも、同じプログラムでエラーは出ない

3.mibarcode.exeを直接クリックすると、エラーになるpcだけ、ユーザーアカウント制御の警告が出ることが分かった
4.mibarcode.exeのプロパティを確認したとこと、互換モードと、管理者としてこのプログラムを実行するにチェックが入っていたので、外したら、ユーザーアカウント制御は出なくなり、vbaの「致命的なエラー」もactivexコンポーネントが作成できないエラーも出なくなった