Googleのseach consoleを眺めていたら、そこそこの人数の人が「EasyComm 64bit」というキーワードでこのブログに来てくれていることに気づきました。
そうなんですよね。Office2010以降のバージョンではEasyCommは動かなくなりました。WindowsのOSが64bitになるに伴い、VBAのバージョンがVBA7というものに変わったことが原因です。
でも、少しコードを書き換えるだけで、動くようになります。当然、VBAはいじらなければ、なりませんが、EasyCommを導入できた人であれば、簡単なコトだと思います。
(そもそもEasyCommを初めて使うって方はこちらの記事もどうぞ ⇒ EasyCommのVBAサンプル)
EasyCommには「ec」と「ecDef」の2つのモジュールが存在しており、いじるのは「ecDef」の方だけです。書き換える部分は下記の2点です。
念のため、コメントブロックもすべて変更すると、全部で27か所あります。置換の機能を使って、「Declare」を「Declare PtrSafe」で置き換えるのが一番手っ取り早いです。
これだけで動くハズなので、まずは試してみてください。
両方のバージョンで動かすためには、IF文を使った条件分岐が必要となります。しかも、先ほどの部分は環境によってはコンパイルエラーが発生するため、通常のIF文は使用できません。
代わりに「#」を付けたIF文を使って条件付きコンパイルというものを行います。これについては下記の通りなので、必要に応じて下記のように書き換えてください。
Declare PtrSafe Function …
#Else
Declare Function …
#End If
※Functionだけではなく、Subの部分も同様にする。
2007以前のOfficeで開くと、「Declare PtrSafe Function …」の行が赤字のエラー表示になりますが、問題なく動きます。
ちなみに上で書いたようにEasyCommには該当する箇所が27か所もあるので、結構面倒くさい作業になってしまいます。ちなみに僕はやりませんでしたw
こちらの記事なんかもどうぞ ⇒ VBAではかりを接続・VBAサンプル(EasyCommが動かないって方へ)
公式サイト ⇒ EasyComm
EasyCommのダウンロードはこちら ⇒ EasyCommをダウンロードできるサイト