本文へスキップ

別館:エクセルQC館 別館:エクセル株式館

  1. トップページ>
  2. Tips>
  3. Office365、Excel:64ビットでVBAを使用する方法

Tipstips

備忘録として、主にパソコン関係のTipsを記載して行きます。


新着情報
@UiPath、メモ
AOffice365、Excel:VBAで画面更新がチラツク時の対策
BOffice365、Excel:勝手に手動計算になる原因
COffice365、Excel:フィルターで3つ以上の条件にする方法
DOffice365、Excel:シート同士の違いを見つける方法

Office365、Excel:64ビットでVBAを使用する方法

Office365は、表計算ソフト、ワープロソフト、プレゼンテーションソフト、データベースソフト等が
入っているオフィスソフトです。これをインストールして置けば、家庭や仕事で多くの事が出来る様になります。

しかし、Office365、Excel(64ビット)でVBA使用中にエラーが発生しました。このVBAは
、以前に使っていたExcel2016(32ビット)では正常に作動していました。使用したパソコンは、下記
のソフトを使用していました。

OS       : Windows10(64bit)バージョン1909(OSビルド 18363.1198)
オフィスソフト  : Excel for Microsoft 365 MSO(16.0.13328.20350)
           64bit

以下、Office365、Excel:64ビットでVBAを使用する方法を記載して行きます。

(項目1)
 ・Office365、Excel(64ビット)でVBA使用中にエラーが発生しました。このVBAは
  、以前に使っていたExcel2016(32ビット)では正常に作動していました。

(項目2)
 ・エラーは、以下の内容です。
  コンパイルエラー:
  このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。
  Declareステートメントの確認および更新を行い、次にDeclareステートメントに
  PtrSafe属性を設定してください。
  

 ・Excel(64ビット)でVBAがエラーとなる場合がある様です。

(項目3)
 ・インターネットで色々と調べて見ると、WindowsAPI をOffice64bit版または32bit版のVBAで使うには |     hatena chipsが見つかりました。
 ・上記によると、以下の2つが必要との事でした。
  @Declare の後に PtrSafe を挿入する。
  Aウィンドウハンドル、ポインタを表す関数の引数、戻り値の型は、Long型からLongPtr型に変更する。

(項目4)
 ・VBAコードを以下の様に変更すると、正常に作動する様になりました。

 ・変更前
  Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" _
  (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long

 ・変更後
  Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" _
  (ByVal hWnd As LongPtr, ByVal nCmdShow As Long) As Long

(項目5)
 ・以上で、Office365、Excel:64ビットでVBAを使用する方法は終了です。



contents

エクセル将棋館

日本国

地方都市


スポンサード リンク