| 
    
     |  | ichinose さん 
 以前、下記の様な内容でご教授頂きまして・・・
 その節は大変ありがとうございました。(ペコ)
 
 更にご質問がございます。
 
 auto_open()が記述されているファイルのシートに書き込みをし
 (以前お話しました通り、フォーム表示させパラメータを入力し
 シートに書き込みます)その後、別ファイル名で保存します。
 要は、データを書き込む側は、「List.xls」側では無く、
 「reftest.xls」側です。
 そうしますと、参照設定は解除される様ですが、どうしてもエラー
 メッセージが表示されてしまいます。
 
 ちみなに、フォームを表示させキャンセルボタンをクリックする
 とフォームを閉じ、「reftest.xls」ファイルの参照を解除して
 ファイルを閉じるのですが、その時は参照設定は解除され、
 エラー表示はされません。この時は、書き込みも保存もしません。
 
 
 auto_open()が記述されているファイル(「reftest.xls」ファイル)
 の書き込みや保存を行った場合は、どうしてもエラー表示されて
 しまうものなのでしょうか!?
 
 それとも別の原因が何かあるのでしょうか!?
 
 ご教授の程、どうぞ宜しくお願い致します。
 
 
 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 参照設定される「List.xls(プロジェクト名LIst)」には、標準モジュールに
 '=======================================================
 Sub test()
 ActiveWorkbook.Sheets(1).Cells(1, 1).Value = "ok"
 End Sub
 
 これだけのコードだとします。
 この「List」を参照設定しているブックは、「reftest.xls」とします。
 
 
 標準モジュールには、
 
 '=================================================================
 Sub auto_open()
 Call list.test
 If 参照設定解除(ThisWorkbook, "List") = 0 Then
 ThisWorkbook.SaveAs ThisWorkbook.Path & "\list33.xls"
 Workbooks("list.xls").Close False
 End If
 End Sub
 '===================================================================
 Function 参照設定解除(bk As Workbook, renm As String) As Long
 On Error Resume Next
 With bk.VBProject
 .References.Remove .References(renm)
 End With
 参照設定解除 = Err.Number
 On Error GoTo 0
 End Function
 
 これでretest.Xlsを立ち上げてAuto_Openが実行されると、
 保存された「list33.xls」は、参照設定が解除されています。
 まず、これが正常に動作するか確認してみて下さい。
 
 |  |