VBAで変数を明示的に宣言すると常に『型が一致しません』エラーが発生するようになった

前々からVBAで、InDesignのオブジェクトを代入する変数を明示的に宣言すると
例)Dim swc As InDesign.Swatch
『型が一致しません』エラーが発生するケースがあったのだが。
Windows Vista で Excel 2000 VBA を使うようになってとうとう、全ての変数でエラーが発生するようになってしまった。原因は分からないが、元々 Excel 2000 は Windows Vista の動作保証外なので仕方がない。
今のところ、変数は全て定義せずに使用していて、とりあえず動いている(ただし、テストしているのはCS3のみ
ほかにもExcel 2000ではMicrosoft IMEと相性が悪く、IMEをオンにした状態でオートコンプリートを使用すると必ず落ちる(IMEがオフの場合は問題ない)という困った問題がある。しかし、わたしはIMEを松茸4.1にしているので運のいいことに実害はない。松茸もVistaに非対応で、InternetExplorer 7(以下IE7)が必ず落ちるのだが、普段はOperaを使用しているので問題ない。たまにPDF内のリンクをうっかりクリックしてしまうとIE7がエラーを出して作業が止まるのだけれど。
なぜそこまでして2000バージョンを使用しているかというと、使い慣れているというのもあるけれど、Microsoft PhotoEditorがあるから。そこそこ軽くて簡単な編集もできるので重宝している。上位バージョンでは無くなっているので、このバージョンから動かせないでいるわけ。
ということで、今後書くVBのコード例は今まで以上に正しい書き方(?)から外れていきますので、ご了承ください。