View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions,microsoft.public.oledb,microsoft.public.data.oledb,microsoft.public.data.ado
4everDad 4everDad is offline
external usenet poster
 
Posts: 7
Default How to read workbook (not worksheet) properties with OLEDB

Thank you, Roger & Jim. If any one else can figure out how to use
OLEDB to access the workBOOK properties of an Excel file (and not just
the workSHEET data, see prior posts), please reply and I will be very
grateful.

On Mar 3, 3:43 pm, 4everDad wrote:
Yes, RecordSet reads the worksheets. I was hoping Connection (or
something else) in OLE DB would make that workbook property
accessible. Argh!

On Mar 3, 2:15 pm, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-

This-.com wrote:
ADODB.Recordset is probably not going to work for you. It is basically a way
or reading a database. To the best of my knowledge it will not handle reading
file properties. You could look into an XL4 macro which will not require the
file to be open. That being said I do not know of any XL4 macros to do what
you ask...
--
HTH...


Jim Thomlinson


"4everDad" wrote:
Roger, Thank you for replying. I am aware of that property (Date1904)
when I use Automation to open Excel as an Application object from
within a database language. I can do that easily in the Application
object. But I can't do that from the server since Excel is not
installed on the server. I need to do it in OLEDB if at all
possible. My problem is that while I can see and iterate the
worksheet values, I don't seem to know how to view the workbook or if
it is even possible from OLEDB. And my attempts to use
"ActiveWorkbook.Date1904" failed no matter which combination I used.


objCn = CreateObject("ADODB.Connection")
objRs = CreateObject("ADODB.Recordset")
objCn.ConnectionString = [Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=]+myXlsFile+[;Extended Properties='Excel 12.0;HDR=No;IMEX=1']


I guess the problem is that OLEDB is a bit of a black box and I don't
even know whether the methods or properties I need are there...


On Mar 2, 6:41 am, "Roger Govier" <roger@technology4unospamdotcodotuk
wrote:
ActiveWorkbook.Date1904


Returns True when set
--
Regards
Roger Govier


"4everDad" wrote in message


I am attempting to read a workbook's properties such as Date1904.
Using brute force I discovered the flag in byte 765 of some .XLS
files, but I presume that the location is undocumented and unreliable
across all current and future versions of Excel. I need to verify
that 4 year offset (1462 days) but have no idea how to view workBOOK
properties with OLEDB which I already use to view worksheets.


I know I could open the Excel Workbook Object as an Application, but I
am running this on a web server and opening an instance of Excel isn't
scalable - it takes a couple seconds each time to open. Besides, I
don't have the latest Excel for the new 2007 file versions. Is there
another way to get the workbook properties using OLEDB such as the
flag for Date1904? Thanks!