Guys, It's done. Dim objwb As Excel.Workbook Dim objapp As Excel.Application Dim result As Object Dim val As String Dim name As String Dim count As Integer Dim i As Integer objapp = New Excel.Application objapp.Visible = True objwb = objapp.Workbooks.Open("c:\Test.xls") 'Get properties count ' count = Int32.Parse(objwb.BuiltinDocumentProperties.GetType().InvokeMember("Count", BindingFlags.GetProperty, Nothing, objwb.BuiltinDocumentProperties, New Object() {}).ToString) count = Int32.Parse(objwb.CustomDocumentProperties.GetType().InvokeMember("Count", BindingFlags.GetProperty, Nothing, objwb.CustomDocumentProperties, New Object() {}).ToString) For i = 1 To count '(Count property is not zero-based index) 'Get Document Property at specified index result = objwb.CustomDocumentProperties.GetType().InvokeMember("Item", BindingFlags.GetProperty, Nothing, objwb.CustomDocumentProperties, New Object() {i}) 'Get Property Name name = result.GetType().InvokeMember("Name", BindingFlags.GetProperty, Nothing, result, New Object() {}).ToString Try 'Get value for Property (some properties will throw an exception if you try to access their property) val = result.GetType().InvokeMember("", BindingFlags.GetProperty, Nothing, result, New Object() {}).ToString Catch ex As Exception val = "None" End Try 'Show Property name and Value MsgBox(name.ToString & ": " & val.ToString) :-D Jayant D. Kulkarni Brainbench Certified Software Engineer in C#, ASP.NET, .NET Framework and ADO.NET