| 
    
     |  | ▼UO3 さん: >▼山下 さん:
 >
 >コードアップありがとうございました。
 >
 >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では、そうみてくれないんですね。
 
 ありがとうございます。
 Dim p As MsForms.Page
 と書き換えてみたところ、動きました。
 これで今日の作業がクリアできそうです。
 また困ったらお願いしますね。
 
 |  |