古い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にしておこうと思ったら悲劇が。オブジェクトの「CommandButton 3 」の数字部分がむちゃくちゃに、ボタン押しても他の機能が発動。 これ全部修正するの面倒くさいぞ。 ってなって,取りあえず。.xlsのままで利用、少しだけ延命できた。