Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am using the following code in a COM based application:
excelApp.Cells.Item[2,13]:=EncodeDate(2003,12,8); excelApp.Cells.Item[2,14]:=EncodeDate(2003,12,10); excelApp.Cells.Item[2,15]:='=NetWorkDays(M2,N2)'; The first two lines simply insert these dates into cells M2 and N2. The next line should return the Working days between these dates (in cell O2). The procedure executes without any error, but when I open the Excel Workbook cell O2 contains #NAME?, althogh the formula bar shows the correct formula. If I then select cell O2 and press ENTER I get the correct value (3). I have also tried the following with the same results: excelApp.Cells.Item[2,15].Select; excelApp.ActiveCell.Formula:='=NetWorkDays(M2,N2)' ; Any suggestions would be appreciated. Nirmal Singh |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Well "NetWorkDays" is not a excel built-in function so seems
to be your user-defined function. So where is the function NetWorkDays() located? in an add-in ? or in the workbook you open? Where - ever the code for the fuction is located , add line Application.Volatile at the top in the function code. Sharad "Nirmal Singh" wrote in message ... I am using the following code in a COM based application: excelApp.Cells.Item[2,13]:=EncodeDate(2003,12,8); excelApp.Cells.Item[2,14]:=EncodeDate(2003,12,10); excelApp.Cells.Item[2,15]:='=NetWorkDays(M2,N2)'; The first two lines simply insert these dates into cells M2 and N2. The next line should return the Working days between these dates (in cell O2). The procedure executes without any error, but when I open the Excel Workbook cell O2 contains #NAME?, althogh the formula bar shows the correct formula. If I then select cell O2 and press ENTER I get the correct value (3). I have also tried the following with the same results: excelApp.Cells.Item[2,15].Select; excelApp.ActiveCell.Formula:='=NetWorkDays(M2,N2)' ; Any suggestions would be appreciated. Nirmal Singh |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Wed, 5 Jan 2005 16:59:08 +0530, "Sharad Naik"
wrote: Well "NetWorkDays" is not a excel built-in function so seems to be your user-defined function. So where is the function NetWorkDays() located? in an add-in ? or in the workbook you open? Where - ever the code for the fuction is located , add line Application.Volatile at the top in the function code. Sharad The NetWorkDays function is in the Excel Analysis Tool Pack which is installed on the machines where this application runs. I've tried Application.Volatile as you suggest and it still doesn't work. Nirmal |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
excelApp.Cells.Item[2,15]:Formula='=NetWorkDays(M2,N2)'
as a suggestion -- HTH ------- Bob Phillips "Nirmal Singh" wrote in message ... I am using the following code in a COM based application: excelApp.Cells.Item[2,13]:=EncodeDate(2003,12,8); excelApp.Cells.Item[2,14]:=EncodeDate(2003,12,10); excelApp.Cells.Item[2,15]:='=NetWorkDays(M2,N2)'; The first two lines simply insert these dates into cells M2 and N2. The next line should return the Working days between these dates (in cell O2). The procedure executes without any error, but when I open the Excel Workbook cell O2 contains #NAME?, althogh the formula bar shows the correct formula. If I then select cell O2 and press ENTER I get the correct value (3). I have also tried the following with the same results: excelApp.Cells.Item[2,15].Select; excelApp.ActiveCell.Formula:='=NetWorkDays(M2,N2)' ; Any suggestions would be appreciated. Nirmal Singh |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Wed, 5 Jan 2005 11:44:14 -0000, "Bob Phillips"
wrote: excelApp.Cells.Item[2,15]:Formula='=NetWorkDays(M2,N2)' as a suggestion Thanks for the suggestion, Bob, but that doesn't work either. Nirmal |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I don't know your specific situation, but when you open the workbook through
Automation, addins are not loaded. It is unclear when you manually edit the cell, but if you have previously closed excel in your application and then reopened it manually (at which time the addin would be loaded), then editing it would indeed clear up the problem. You could try opening the analysis toolpak like a regular workbook in your COM app before you perform this operation. -- Regards, Tom Ogilvy "Nirmal Singh" wrote in message ... On Wed, 5 Jan 2005 11:44:14 -0000, "Bob Phillips" wrote: excelApp.Cells.Item[2,15]:Formula='=NetWorkDays(M2,N2)' as a suggestion Thanks for the suggestion, Bob, but that doesn't work either. Nirmal |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Wed, 5 Jan 2005 08:25:35 -0500, "Tom Ogilvy"
wrote: I don't know your specific situation, but when you open the workbook through Automation, addins are not loaded. It is unclear when you manually edit the cell, but if you have previously closed excel in your application and then reopened it manually (at which time the addin would be loaded), then editing it would indeed clear up the problem. You could try opening the analysis toolpak like a regular workbook in your COM app before you perform this operation. Tom Thanks Tom, that was the problem. I've added the following line excelApp.AddIns.Item['Analysis ToolPak - VBA'].Installed:=True; and the procedure is working fine now. This group is absolutely amazing - an answer within a few hours! Nirmal |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Error: "Excel encountered an error and had to remove some formatti | Excel Discussion (Misc queries) | |||
Counting instances of found text (Excel error? Or user error?) | Excel Worksheet Functions | |||
I have Error 1919 Error Configuring ODBC dataSource Database | Excel Discussion (Misc queries) | |||
Automation Error, Unknown Error. Error value - 440 | Excel Programming |