|
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」は、参照設定が解除されています。
まず、これが正常に動作するか確認してみて下さい。
|
|