Help! Single cell owning > 1024 chars caused exception

D

dotNeter

I found that if a single cell includes greater than 1024 chars, using
property Range.FormulaR1C1to read content from the cell must cause an
exception, say

System.Runtime.InteropServices.COMException (0x800A03EC): Exception
from HRESULT
: 0x800A03EC
at System.RuntimeType.ForwardCallToInvokeMember(String memberName,
BindingFla
gs flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at Microsoft.Office.Interop.Excel.Range.get_FormulaR1C1()

However, same code, just after keeping chars less than 1024 in a single
cell, everything is ok.

Is it a Microsoft.Office.Interop.Excel implemenation error?
I used MS Excel 11.0 Object Library.

Thx in advance!
 
P

Peter T

Cell's formula property cannot handle more than 1024. However a cell can
contain, but not display, up to 32k characters. Maybe you can read the
..Value property.

Regards,
Peter T
 
D

dotNeter

Thx Peter.

I want the return type is Object, that is more easier for future
processing. So I can't use Cells property to retreive the data. I'll
have a try.

BTW, I can't find any documentation describing Formula property cannot
handle more than 1024 chars. Where is it? Undocumented?

Peter said:
Cell's formula property cannot handle more than 1024. However a cell can
contain, but not display, up to 32k characters. Maybe you can read the
.Value property.

Regards,
Peter T

dotNeter said:
I found that if a single cell includes greater than 1024 chars, using
property Range.FormulaR1C1to read content from the cell must cause an
exception, say

System.Runtime.InteropServices.COMException (0x800A03EC): Exception
from HRESULT
: 0x800A03EC
at System.RuntimeType.ForwardCallToInvokeMember(String memberName,
BindingFla
gs flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at Microsoft.Office.Interop.Excel.Range.get_FormulaR1C1()

However, same code, just after keeping chars less than 1024 in a single
cell, everything is ok.

Is it a Microsoft.Office.Interop.Excel implemenation error?
I used MS Excel 11.0 Object Library.

Thx in advance!
 
P

Peter T

BTW, I can't find any documentation describing Formula property cannot
handle more than 1024 chars. Where is it? Undocumented?

In 100's of threads in this ng and officially elsewhere, see for yourself in
VBA

Sub test()
Dim rng As Range, s$

Set rng = ActiveCell

s = "X"
For i = 1 To 10
s = s & s
Next

Stop ' step through with F8
rng = s

MsgBox Len(rng.FormulaR1C1) ' len 1024 no error
rng = s & "a"
MsgBox Len(rng.FormulaR1C1) ' ERROR cos len 1025

'drag cursor down to next line & continue with F8
rng = s & s & s & s & s & s & s & s
MsgBox Len(rng.Value) ' 8192

End Sub

Regards,
Peter T

dotNeter said:
Thx Peter.

I want the return type is Object, that is more easier for future
processing. So I can't use Cells property to retreive the data. I'll
have a try.

BTW, I can't find any documentation describing Formula property cannot
handle more than 1024 chars. Where is it? Undocumented?

Peter said:
Cell's formula property cannot handle more than 1024. However a cell can
contain, but not display, up to 32k characters. Maybe you can read the
.Value property.

Regards,
Peter T

dotNeter said:
I found that if a single cell includes greater than 1024 chars, using
property Range.FormulaR1C1to read content from the cell must cause an
exception, say

System.Runtime.InteropServices.COMException (0x800A03EC): Exception
from HRESULT
: 0x800A03EC
at System.RuntimeType.ForwardCallToInvokeMember(String memberName,
BindingFla
gs flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at Microsoft.Office.Interop.Excel.Range.get_FormulaR1C1()

However, same code, just after keeping chars less than 1024 in a single
cell, everything is ok.

Is it a Microsoft.Office.Interop.Excel implemenation error?
I used MS Excel 11.0 Object Library.

Thx in advance!
 
D

dotNeter

Thx again.
Another question.
Which Office versions does this 1024 limitation apply to? All? And all
languages?

thx.

Peter said:
BTW, I can't find any documentation describing Formula property cannot
handle more than 1024 chars. Where is it? Undocumented?

In 100's of threads in this ng and officially elsewhere, see for yourself in
VBA

Sub test()
Dim rng As Range, s$

Set rng = ActiveCell

s = "X"
For i = 1 To 10
s = s & s
Next

Stop ' step through with F8
rng = s

MsgBox Len(rng.FormulaR1C1) ' len 1024 no error
rng = s & "a"
MsgBox Len(rng.FormulaR1C1) ' ERROR cos len 1025

'drag cursor down to next line & continue with F8
rng = s & s & s & s & s & s & s & s
MsgBox Len(rng.Value) ' 8192

End Sub

Regards,
Peter T

dotNeter said:
Thx Peter.

I want the return type is Object, that is more easier for future
processing. So I can't use Cells property to retreive the data. I'll
have a try.

BTW, I can't find any documentation describing Formula property cannot
handle more than 1024 chars. Where is it? Undocumented?

Peter said:
Cell's formula property cannot handle more than 1024. However a cell can
contain, but not display, up to 32k characters. Maybe you can read the
.Value property.

Regards,
Peter T

I found that if a single cell includes greater than 1024 chars, using
property Range.FormulaR1C1to read content from the cell must cause an
exception, say

System.Runtime.InteropServices.COMException (0x800A03EC): Exception
from HRESULT
: 0x800A03EC
at System.RuntimeType.ForwardCallToInvokeMember(String memberName,
BindingFla
gs flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at Microsoft.Office.Interop.Excel.Range.get_FormulaR1C1()

However, same code, just after keeping chars less than 1024 in a single
cell, everything is ok.

Is it a Microsoft.Office.Interop.Excel implemenation error?
I used MS Excel 11.0 Object Library.

Thx in advance!
 
P

Peter T

Which Office versions does this 1024 limitation apply to? All?

Excel 97 - 2003.
Not sure about the new beta, earlier versions might be less, I forget. Even
manually you cannot enter or edit a formula starting with an "=" over 1024.

FWIW a formula can contain over 1024, but you cannot read or write it.

Regards,
Peter T

dotNeter said:
Thx again.
Another question.
Which Office versions does this 1024 limitation apply to? All? And all
languages?

thx.

Peter said:
BTW, I can't find any documentation describing Formula property cannot
handle more than 1024 chars. Where is it? Undocumented?

In 100's of threads in this ng and officially elsewhere, see for yourself in
VBA

Sub test()
Dim rng As Range, s$

Set rng = ActiveCell

s = "X"
For i = 1 To 10
s = s & s
Next

Stop ' step through with F8
rng = s

MsgBox Len(rng.FormulaR1C1) ' len 1024 no error
rng = s & "a"
MsgBox Len(rng.FormulaR1C1) ' ERROR cos len 1025

'drag cursor down to next line & continue with F8
rng = s & s & s & s & s & s & s & s
MsgBox Len(rng.Value) ' 8192

End Sub

Regards,
Peter T

dotNeter said:
Thx Peter.

I want the return type is Object, that is more easier for future
processing. So I can't use Cells property to retreive the data. I'll
have a try.

BTW, I can't find any documentation describing Formula property cannot
handle more than 1024 chars. Where is it? Undocumented?

Peter T wrote:
Cell's formula property cannot handle more than 1024. However a cell can
contain, but not display, up to 32k characters. Maybe you can read the
.Value property.

Regards,
Peter T

I found that if a single cell includes greater than 1024 chars, using
property Range.FormulaR1C1to read content from the cell must cause an
exception, say

System.Runtime.InteropServices.COMException (0x800A03EC): Exception
from HRESULT
: 0x800A03EC
at System.RuntimeType.ForwardCallToInvokeMember(String memberName,
BindingFla
gs flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at Microsoft.Office.Interop.Excel.Range.get_FormulaR1C1()

However, same code, just after keeping chars less than 1024 in a single
cell, everything is ok.

Is it a Microsoft.Office.Interop.Excel implemenation error?
I used MS Excel 11.0 Object Library.

Thx in advance!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top