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

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