サポート掲示板


 新規投稿 | タイトル一覧 - ツリー - スレッド - 投稿一覧 | 検索 | 設定 

No.498に関するツリー
-Office365 64bitに関して [ben2] (2019/12/02 10:02)
 └Re:Office365 64bitに関して [takana] (2019/12/02 22:47)

[498] Office365 64bitに関して
Name: ben2
Date: 2019/12/02 10:02
初めての投稿です。

かんたんレイアウトがとても便利な為、
よく使わさせて頂いています。

現在、Officeを2007から365へ入れ替えを進めており、
その中でかんたんレイアウトの動作確認を行っておりました。

OfficeのバージョンはOffice365Business版です。

32bit版は他の方への対応で書かれていたソースで、
アドインの表示と運用が出来ました。

ですが、64bit版はエラーが出て、
表示もされす動作しません。

幾つかのサイトで64bit版はLong変数が変わるのと、
Declare ステートメントが変わると言う事で、
Longは全てLongPtrに変更し、
Declare ステートメントはPtrSafeを追加して、
暫定でエラーの出ない形にはしましたが、
動作しませんでした。

おそらく、Declare ステートメントの一部が対応していないと推定しましたが、どこが対応していないかまでは追いきれませんでした。

そこで、相談なのですが、
・64bit対応は今後されるのか?
・どの辺りで動作がしなくなるかの推定箇所が無いか
の回答をいただけると幸いです。

将来的に、Microsoftが64bit版のOfficeに移行していく可能性があるので、出来れば対応頂ければと思います。

以上、宜しくお願い致します。

返信する


[499] Re:Office365 64bitに関して
Name: takana
Date: 2019/12/02 22:47
ご意見ありがとうございます。

GeneralTools.basの先頭部分のdllの宣言部をすべて
下記の例の様に修正すれば、動作すると思われます。
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

LongをLongPtr型に変更する必要はないと思われます。
後、frmEditの以下の行はコメントアウトしてください。

Private Sub UserForm_Initialize()の中の
' '********************************************
' 'サブクラス化してマウスホイールを有効にする
' '********************************************
' OrgWndProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf SubClassProc)


Private Sub UserForm_Terminate()の中の
' 'ウィンドウプロシジャーを元にもどす
' If OrgWndProc <> 0 Then
' Call SetWindowLong(hWnd, GWL_WNDPROC, OrgWndProc)
' End If

返信する

トップページへ

レッツPHP!