症状
Win7 32bit access2003 mdbで運用中のシステムを
win10 64bit access2013 accdbに変更した時に
USB接続のキャッシュドロアへの接続でエラー。
ドロアオープンのVBAで
Mscomm1 = New Mscomm
で「ActiveXコンポーネントを生成できません 429エラー」が発生
原因
MsComm32.ocxが適切に読み込まれていないと推測
対策
Windows10で32bitOCXを登録する方法( Useful Info ブログ)
OCXファイルの準備
移植元のPC(32bitOS)からOCXをコピーして、以下フォルダの下に配置します。C:\Windows\SysWOW64下にコピー
sytem32フォルダの下にコピーしないように注意してください。紛らわしいですが、以下のような仕組みになっておりますので注意が必要です。「C:\Windows\System32」フォルダの中には64bitプログラム用のファイル(64bitバイナリ)
「C:\Windows\SysWOW64」フォルダの中には32bitプログラム用のファイル(32bitバイナリ)
OCXファイルを登録
コマンドプロンプトを管理者モードで起動し、以下のコマンドを入力します。
cd \windows\syswow64 ⏎regsvr32 c:\windows\syswow64\XXXXXX.ocx ⏎
下図のようにDllRegisterServerに成功しました。と表示されればOCXの登録完了です。
https://eijiman.com/windows10-32bit-ocx/
easycommを64bitのOfficeで動かす方法(アクセスもエクセルも対応)(FUJORI-風城離)
EasyCommには「ec」と「ecDef」の2つのモジュールが存在しており、いじるのは「ecDef」の方だけです。書き換える部分は下記の2点です。
「Declare Function」を「Declare PtrSafe Function」に変える
「Declare Sub」を「Declare PtrSafe Sub」に変える
念のため、コメントブロックもすべて変更すると、全部で27か所あります。置換の機能を使って、「Declare」を「Declare PtrSafe」で置き換えるのが一番手っ取り早いです。これだけで動くハズなので、まずは試してみてください。
https://fujori.com/access-excel-vba/easycomm-64bit-office/
MSComm32.ocx のオブジェクト作成時に429 エラーが出る 環境依存(ygushi備忘録)
以下を .reg でファイル化し登録、問題はクリアした。
http://ygushi.blog.jp/archives/cat_196513.html
REGEDIT
HKEY_CLASSES_ROOT\Licenses = Licensing: Copying the keys may be a violation of established copyrights.
// The 16 bit and 32-bit OCX Professional license follows:
HKEY_CLASSES_ROOT\Licenses\DB4C0D00-400B-101B-A3C9-08002B2F49FB = mgkgtgnnmnmninigthkgogggvmkhinjggnvm
// The 32 bit OCX Professional license follows:
HKEY_CLASSES_ROOT\Licenses\7BC20EDC-4A42-101B-A3C9-08002B2F49FB = gifblihbhiiihbciocfbkifbqcfcdiebbiqh
以上の3つでとりあえずいけそう(現地調査はまだ)
ドロアのサポートでもお手上げのようなのでもし詰ってる人がいれば参考までに