Microsoft ExcelのVisual Basic for Applicationsで、Excelが32ビットか64ビットか判定する

いまだに、Microsoft Office 2010を使わされているのである。 だからと言う訳ではないが、Visual Basic for Applications (VBA)を使うことがある。 その場合には、OLE DBを使ってデータベースにアクセスして取得したレコードセットを操作することが多い。

そこで問題になるのが、データベースサーバーがPostgreSQLの場合である。 公式のOLE DBライブラリーがWin64用には存在しないのである。 となると、ODBCドライバーをインストールし、バッチファイルでシステムデータソースを設定するしかない。 しかも、32ビットと64ビットでODBCドライバーの名前は異なるので、VBA内で切り替えなくてはいけない。

そういう場合に役立つのが、条件付きコンパイルである。 以下のように、定数Win64が真であるかどうかで判別すれば良い。

#If Win64 Then
  ' 64ビットMS Office用の処理
#else
  ' 32ビットMS Office用の処理
#end if

VBAでは何をするにも面倒なので、JavaScriptでもPythonでも良いので使えるようになって欲しい。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

Amazon Kindle Fireタブレットで、放送大学の学生向けのインターネット配信を視聴する

放送大学では学生向けには、テレビで放送されている講義のビデオと、ラジオで放送されている講義のオーディオがウェブ上で配信されている。 これはどうやら、Widevine CDMを使っているようだ。 そして、ウェブブラウザーのuser agent stringを見て視聴で...