■開発していると参照設定したくても、納品先のお客様の使用環境が
どのバージョンを使用しているか不明のため、コード規約で参照設定が
禁止されているケースが多いです。なので、遅延バインディングします。
AccessからExcelを遅延バインディングしてWorkbookを操作する際に
以下のコードでエラーとなりました。
Dim wb As Workbook のところで
「コンパイルエラー:ユーザー定義型は定義されていません」とエラーメッセージが
でます。
'---------------------------------------------------------------------
Sub test1()
Sub test1()
Dim objExe As Object
Set objExe = CreateObject("Excel.Application")
objExe.Visible = True
Dim wb As Object
Set wb = objExe.workbooks.Open("C:\売上金額フォーマット.xlsx")
End Sub
'---------------------------------------------------------------------
■解決方法
Dim wb As Workbook → Dim wb As Object
変数をObject型にすることで解決しました。