Software Archive
Read-only legacy content
17060 Discussions

Link to Excel 2000

marcellocattaneo
Beginner
882 Views
A couple of yers ago I wrote CVF application that interacts with an Excel spreadsheet, and it has worket perfectly eversince. We recently installed a new workstation, and installed Excel 2000 and the application didnt work any more. In the previous computers, Excel 2000 had been installed on top of Excel 97, and so I suspected that ther was some change in the Excel object model or in some DLL between 97 and 2000. I uninstalled 2000 on the new workstation, installed 97 and then reinstalled 2000 on top of it and everything worked perfectly.
Just to make sure I compiled the Autodice example and get exactly the same problem: it only works if Excel 97 has been installed on the machine.
Strangely enough, it seems that when CVF is also present the problem does not show up, i.e. Autodice works even on Excel 2000.

Can you give me a fix? I hate to think that I will have to keep a copy of Excel 97 around forever so that I can run the application ...

Thanks and regards,

Marcello Cattaneo
0 Kudos
3 Replies
sabalan
New Contributor I
882 Views
This is only a guess based on your last meaning: The problem may have to do with single/multiple reentrancy libraries. Have you copied the VF run-time support libraries (DFORRT.DLL and DFORMD.DLL) to the computer which is running your application where CVF is NOT present? See here: here.

Regards,
Sabalan.
0 Kudos
marcellocattaneo
Beginner
882 Views
Thanks for the suggestion. I've just tried to substitute the old support library DLL's with new ones (dated 06/01) but it didnt help.

regards, marcello
0 Kudos
sumitm
Beginner
882 Views
Hi,
Do not know if this is going to help you but I have been using Autodice without proplems on both Excel 97 and excel2000. One thing you need to be aware of is to change the excel.application.number. You can find the correct number by doing a search on your computer with excel*.olb. However if you are distributing your application to users who may have either 97 or 2000 version you may need to incorporate both.
Thanks
 
! Create an Excel object
CALL COMINITIALIZE(status)
CALL COMCREATEOBJECT ("Excel.Application.8", excelapp, status)
IF (excelapp == 0) THEN
CALL COMCREATEOBJECT ("Excel.Application.9", excelapp, status)
IF (excelapp == 0) THEN
WRITE (*, '(" Unable to create Excel object; Aborting")')
CALL EXIT()
endif
END IF
CALL $Application_SetVisible(excelapp, .TRUE.)
0 Kudos
Reply