仮想通貨100種類以上の特徴を紹介!だけど雑記ブログw

easycommを64bitのOfficeで動かす方法(アクセスもエクセルも対応)

Googleのseach consoleを眺めていたら、そこそこの人数の人が「EasyComm 64bit」というキーワードでこのブログに来てくれていることに気づきました。

そうなんですよね。Office2010以降のバージョンではEasyCommは動かなくなりましたWindowsのOSが64bitになるに伴い、VBAのバージョンがVBA7というものに変わったことが原因です。

でも、少しコードを書き換えるだけで、動くようになります。当然、VBAはいじらなければ、なりませんが、EasyCommを導入できた人であれば、簡単なコトだと思います。

(そもそもEasyCommを初めて使うって方はこちらの記事もどうぞ ⇒ EasyCommのVBAサンプル

EasyCommを64bit環境でだけ動かすには

EasyCommには「ec」と「ecDef」の2つのモジュールが存在しており、いじるのは「ecDef」の方だけです。書き換える部分は下記の2点です。

  • 「Declare Function」を「Declare PtrSafe Function」に変える
  • 「Declare Sub」を「Declare PtrSafe Sub」に変える

念のため、コメントブロックもすべて変更すると、全部で27か所あります。置換の機能を使って、「Declare」を「Declare PtrSafe」で置き換えるのが一番手っ取り早いです。

これだけで動くハズなので、まずは試してみてください。

64bitでも32bitでも動くプログラムにするには

両方のバージョンで動かすためには、IF文を使った条件分岐が必要となります。しかも、先ほどの部分は環境によってはコンパイルエラーが発生するため、通常のIF文は使用できません。

代わりに「#」を付けたIF文を使って条件付きコンパイルというものを行います。これについては下記の通りなので、必要に応じて下記のように書き換えてください。

#If VBA7 Then

Declare PtrSafe Function …

#Else

Declare Function …

#End If

※Functionだけではなく、Subの部分も同様にする。

2007以前のOfficeで開くと、「Declare PtrSafe Function …」の行が赤字のエラー表示になりますが、問題なく動きます。

ちなみに上で書いたようにEasyCommには該当する箇所が27か所もあるので、結構面倒くさい作業になってしまいます。ちなみに僕はやりませんでしたw

EasyComm自体を知らない方へ

こちらの記事なんかもどうぞ ⇒ VBAではかりを接続VBAサンプル(EasyCommが動かないって方へ)

公式サイト ⇒ EasyComm

EasyCommのダウンロードはこちら ⇒ EasyCommをダウンロードできるサイト

SNSでフォローする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です