Win10 64bit+access2013でシリアル通信できない

症状

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つでとりあえずいけそう(現地調査はまだ)

ドロアのサポートでもお手上げのようなのでもし詰ってる人がいれば参考までに