Another example of an Oracle call using Excell's macros.
Attribute VB_Name = "Get Data"
Sub Get_Data()
Attribute Get_Data.VB_ProcData.VB_Invoke_Func = " \n14"
' Create and initialize the necessary objects
Dim OraSession As Object
Dim OraDatabase As Object
Dim EmpDynaset As Object
Dim ColNames As Object
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase("2:", "scott/tiger", 0&)
Set EmpDynaset = OraDatabase.DbCreateDynaset("select * from emp", 0&)
' Using field array, ie. ColNames("ename").value, is significantly faster than using
' field lookup, ie. EmpDynaset.fields("ename").value
Set ColNames = EmpDynaset.Fields
' Place column headings on sheet
For icols = 1 To ColNames.Count
Worksheets("DataSheet").Cells(1, icols).Value = ColNames(icols - 1).Name
Next
' Place data on sheet using CopyToClipboard
EmpDynaset.CopyToClipboard -1
Sheets("DataSheet").Select
Range("A2").Select
ActiveSheet.Paste
End Sub