古い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のままで利用、少しだけ延命できた。

コメント