| 
    
     |  | ▼ichinose さん: こんばんは、たびたびいつも親切に教えて頂いてすみません。
 
 ichinoseさんご提示の下記コード
 
 >'============================================================
 >Sub main()
 >  Call remove_broken_ref(Workbooks("reftest.xls"))
 >End Sub
 >'===========================================================
 >Sub remove_broken_ref(bk As Workbook)
 >'有効な参照設定を示していない参照を解除する
 >'input  bk : 調査対象ブックオブジェクト
 >'output bk : 無効参照を解除されたブック
 >  With bk.VBProject
 >   For Each obj In .References
 >     If obj.isbroken = True Then
 >      .References.Remove obj
 >      End If
 >     Next
 >   End With
 >End Sub
 
 をtest.txtのマクロに貼り付け、「参照設定」の対象となるファイルreftest.xlsはexcel2002で作成し、このファイルの参照設定として新たに「HTML Dialogs 1.0 Type Library」を設定しました。
 
 次いで、これら2つのファイルをexcel2000のシステムが入ったマシンの同じディレクトリに置き、test.xlsを起動し、上述のマクロmainを実行したところ
 
 実行時エラー '9':
 インデックスが有効範囲にありません。
 
 というエラーメッセージが出て先に進めません。どこが悪いのでしょうか?
 
 ちなみに、reftest.xlsの「参照設定」は予想通り
 
 「参照不可:HTML Dialogs 1.0 Type Library」
 
 の先頭のチェックボックスにチェックが付いたままになっております。
 
 Call文の前におまじないが何か要りそうですが・・・、よろしくご指導お願いします。
 
 |  |