Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
OLE Error with Excel opening a DBF file
Message
From
12/06/2017 19:21:07
 
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 10
Network:
Windows Server 2012 R2
Database:
MS SQL Server
Application:
Desktop
Miscellaneous
Thread ID:
01651937
Message ID:
01651954
Views:
48
>>An app has a function to save VFP data as a .XLSX file. The code below is 100% reliable on machines running Excel 2007 on Windows 7. On some machines with Windows 10 and Excel 2016, it fails when a call is made for Excel to open the FOX2X file.
>>
>>Does anyone have any ideas why Excel 2016 and/or Win10 might not like this code?
>>
>>
>>* Get Excel application object:
>>m.loExcel = CREATEOBJECT( "Excel.Application" )
>>
>>* Data munging to create a VFP cursor happens here
>>
>>* Save the cursor to a FOX2X file that can be opened by Excel:
>>m.lcDBF2X = ADDBS( SYS( 2023 ) ) + SYS( 2015 ) + ".DBF"
>>
>>COPY ALL TO ( m.lcDBF2X ) TYPE FOX2X
>>
>>* The following DOEVENTS call "fixed" OLE errors long ago with Win7/Excel 2007:
>>DOEVENTS FORCE
>>
>>* Open the FOX2X DBF in Excel, save to .XLSX format:
>>m.loExcel.DisplayAlerts = .F.
>>
>>* The next line is the one that throws errors:
>>m.loWorkbook = m.loExcel.Application.Workbooks.Open( m.lcDBF2X )
>>
>
>
>Why not just COPY ALL TO ( m.lcDBF2X ) TYPE XLS?
>(of course you should change extension)

Unfortunately that makes no difference. It returns "OLE error code 0x80004005: Unspecified error." on trying to open the .XLS file.

We need to open the file in Excel for some post-processing (updating column header names etc).
Regards. Al

"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov

Neither a despot, nor a doormat, be

Every app wants to be a database app when it grows up
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform