これは
ちょっとしたExcelマクロを新たに作成するときに、
大抵いつも追加する定番の参照設定があったりしませんか。
(Microsoft Scripting Runtime とか)
そんな時、いちいち参照設定のメニューでチェックを入れるのが煩わしいので
個人用マクロブックにこんな感じの処理を仕込んでいます。
自分の個人用マクロブックには定番の参照設定が既に設定してあるので、
それを参考に新しいブックにもそれらを追加するという仕組みです。
コード
Sub 定番の参照設定を追加()
RefCopy ThisWorkbook, ActiveWorkbook
End Sub
Function RefCopy(org As Workbook, target As Workbook)
Dim ref 'As Reference
On Error Resume Next '既に設定済みだとエラーになるので
For Each ref In org.VBProject.References
If Not ref.BuiltIn Then
Debug.Print ref.Description
target.VBProject.References.AddFromFile ref.FullPath
End If
Next
End Function
別バージョン
最初に作った時には、こんなふうにコード上にフルパスをベタに羅列していて、
これでも十分に用は足していたのですが、
PC環境が変わったのをきっかけに、上のように作り直しました。
Sub AddNewBookWithRefs()
Dim refs As New Collection, ref
With refs
.Add "C:\Windows\SysWOW64\scrrun.dll"
.Add "C:\Windows\SysWOW64\shell32.dll"
'
'
'
End With
With Workbooks.Add
For Each ref In refs
.VBProject.References.AddFromFile CStr(ref)
Next
End With
End Sub