|
▼山下 さん:
コードアップありがとうございました。
2010でも再現しました。
なぁるほどぉ です。
Dim Page As Page
これを
Dim Page As MsForms.Page
または
Dim Page As Object
このようにすればエラーは無くなると思います。
理由は以下のようなことかと。
2003と2010でオブジェクトブラウザを表示させますと(非表示メンバも表示)
2003ではPageがでてきません。
一方、2010では Page が2つでてきます。1つはMsFormsメンバーとしてのPage。
もう1つがExcelとしての、新しいオブジェクト(いわゆるエクセル上のページ関連)です。
2003で、MsFormsメンバのPageがオブジェクト裏得座になぜ表示されていないのかはおいておき
Page というオブジェクトが2007で追加になっていますね。
変数型を単に As Page とすると、VBAは、Excelオブジェクトを優先します。
2003では、Excelオブジェクトがなかったので、MsFormsオブジェクトと認識されましたけど
2007では、そうみてくれないんですね。
|
|