|
▼ichinose さん:
>度々ですみません。
>>>▼NH さん:
>>>こんにちは。
>>>
>>>>参照設定についてVB Editor-ツールで参照設定を行いますが、この
>>>>チェックする作業そのもの(若しくはチェックされているかどうか
>>>>の判定でも良いのですが)をVBAで行うことはできるのでしょうか?
>>>>出来たら楽になるんですけど。
>>>「Microsoft Scripting Runtime」(FSO)に参照設定する例です。
>>>
>>>'======================================================
>>>Sub main()
>>> Dim ans As Long
>>> ans = add_ref(ThisWorkbook, "Scripting", "c:\windows\system\scrrun.dll")
>>> If ans = 0 Then
>>> MsgBox "ok"
>>> Else
>>> MsgBox Error$(ans)
>>> End If
>>>End Sub
>>>'========================================================================
>>>Function add_ref(bk As Workbook, refname As String, refpath As String) As Long
>> Dim vbr As Reference '←これ削除してください
> With bk.VBProject '←何のためのパラメータだか・・・
>>> On Error Resume Next
>>> wk = .References(refname).Name '参照設定されていなければ、エラー
>>> If Err.Number <> 0 Then
>>> Err.Clear
>>> .References.AddFromFile refpath
>>> If Err.Number <> 0 Then
>>> add_ref = Err.Number
>>> Else
>>> add_ref = 0
>>> End If
>>> Else
>>> add_ref = 0
>>> End If
>>> On Error GoTo 0
>>> End With
>>>End Function
>>>
>>>で参照設定できました。(Excel2000)
解説していただいてすいません。今Excel2002でテストをしているのですが
どうもうまくいかなくて。
scrrun.dllの位置をc:\windows\system32\scrrun.dll(OS:XP)に変更し
標準モジュールにこのソースを入れて実行したところ
実行時エラー'1004'
プログラミングによるVisual Basic プロジェクトへのアクセスは
信頼性に欠けます
というエラーが表示され、デバッグで見ると
With bk.VBProjectが黄色で反転している状態です。
Thisworkbookにこのソースを入れて実行すると
×印のメッセージボックスに400(多分エラーコードだと思うのですが)
が表示されています。
|
|