古いEXCELのVBA

 Officeを64bitに移行して使い始めてはや数年、

1995年くらいからちょっとずつ作ってきたEXCELのVBA(.xls)をしばらく使っていなかったが、久々に使うことにした。シート自体は書き込みできるのでデータのストレージとしては使っていたが、処理系は置いたままだった。で一念発起して修正を加えようと思った

結果から言うと動かすだけなら起動時にでるエラーの箇所の「Declare」を「Declare PtrSafe」に変更するだけ。例えば

Declare  Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA"  (ByVal nDrive As String) As Long

    

Declare PtrSafe Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

 で取りあえず動いた。わりと、かんたんに修正が終わった。

でついでに.xlsから.xlsmにしておこうと思ったら悲劇が。オブジェクトの「CommandButton3」の数字部分がむちゃくちゃに、ボタン押しても他の機能が発動。

これ全部修正するの面倒くさいぞ。

ってなって,取りあえず。.xlsのままで利用、少しだけ延命できた。

コメント

このブログの人気の投稿

Windows10デフォルトゲートウェアに0.0.0.0が追加される

iOS VLC でSMB共有できなかった点について

無線LANルータの選択肢が、NEC Aterm 静的ルーティングできない問題