Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
OLE Error with Excel opening a DBF file
Message
From
13/06/2017 03:34:05
 
 
To
13/06/2017 03:13:32
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:
01651960
Views:
72
>>>>>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 )
>>>>>
>>>>
>>>>What does Aerror() report?
>>>
>>>The infamous OLE error 1426:
>>>
>>>
>>>1426
>>>"OLE error code 0x80004005: Unspecified error."
>>>"80004005: Unspecified error"
>>>.NULL.
>>>.NULL.
>>>.NULL.
>>>.NULL.
>>>
>>
>>I tried the code on my machine, which has the same setup as you describe, and it works without any errors. So I guess it must be a faulty Excel installation.
>
>That's a great data point - just to confirm, you tested this code against Excel 2016 on Windows 10? Thanks!

Yes. Win10 64-bit.
Previous
Reply
Map
View

Click here to load this message in the networking platform