こんにちは。カナメです。
以前の記事で、パスワード付きZipファイルメールを自動解凍するマクロを作成しましたが、
職場でもOffice365への切り替えが進んでいるため、32bitのDLLを使っているこのマクロが使用できなく
なってしまいました。
そこで、マクロの一部を改造して、Office365でも使えるようにします。
マクロのDeclare構文にPtrSafeを追加
以前作ったマクロのモジュールのDLL.basを開きます。
ここの文を以下のように変更します
・Declareの後に「PtrSafe」を追加する
・hWnd の引数の型 long を「LongPtr」に変更する
以下のブログを参考にさせていただきますと
Office365は64bitなので、32bit用に書かれたコードを64bit対応にするために
必要なのだということはなんとなくわかりました。
DLLを64bit対応のものに変える
今まで使用していた「7-zip32.DLL」はOffice365では使用できなくなってしまったため、
以下のサイトから、64bit対応の7-zipDLLを使わせていただきました。
http://ayakawa.o.oo7.jp/soft/ntutil.html#7z
綾川的趣味之接続集
「7-zip64.dll ver 9.22.00.02 私家版」をダウンロードします
DLL.basの、参照するDLLを以下のように修正
前回の7-zip32.DLLはCドライブ → Windows →SysWOW64のフォルダに保存しましたが、
今回のDLLはCドライブ → Windows →System32に保存します。
マクロを有効にする
Office365に切り替えると、マクロが無効にする設定になっているので、
マクロを有効にします
ファイル→オプション→トラストセンター
トラストセンターの設定
マクロの設定で、「すべてのマクロを有効にする」をクリック
一番下です。
あとは前回と同じように、マクロボタンを作成することで、Office365でも使えるようになりました。
とりあえず、動いてくれてよかった。まだしばらくは使えそうです。
それではまた。
※修正済みのOffice365対応 パスワード付きZipファイルメール自動解凍マクロは
以下よりダウンロードできます。