Automation AddIn (UDF) in C# not able to manipulate XL Objects...

P

pdxJaxon

I'm having a lot of trouble manipulating XL objects from my AddIn code (A C#
Automation AddIin that serves as a UDF).

I Can:
Read Cell Valules
Insert Comments Into Cells
Call Replace() Functions on Cells\Ranges
Obtain Handles to Ranges
Various other things

I CANNOT:
Insert Data directly into a cell (without using Replace function)
Insert Rows
Paste Data Into a Range

The sheet is NOT protected


Here is a line that does nothing (no error message at all)
range.EntireRow.Insert(Microsoft.Office.Interop.Excel.XlInsertShiftDirection.xlShiftDown, m);


another ugly example:
rCml.Select();
rCml.Copy(m);
range.Select();

range.PasteSpecial(Microsoft.Office.Interop.Excel.XlPasteType.xlPasteAll,Microsoft.Office.Interop.Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);


again, no error message, but no result either....

this is becoming critical.

thanks for any help you can offer.
 
T

Tim Williams

Excel UDF's (in any language) cannot change the worksheet they're in, only
return a value (or array of values).

Tim
 
D

Doug Glancy

Gregory,

In your Insert example, I believe the 2nd argument is the CopyOrigin, which
looks like it's either "xlFormatFromLeftOrAbove" or
"xlFormatFromRightOrBelow". It is not the value that you are pasting. In
order to paste a row with the Insert, you'd have done something like this in
the previous line of code:

range("A1").EntireRow.Copy

In the PasteSpecial example I believe Copy(m) clears the clipboard. In
other words it should copy m into rCml, but then there is nothing to
PasteSpecial. I get an error message running this in Excel though, so
something is different.

Also "range" is an Excel reserved word, so I'd rename that variable.

hth,

Doug
 
D

Doug Glancy

Oh yeah, that too :)

Doug

Tim Williams said:
Excel UDF's (in any language) cannot change the worksheet they're in, only
return a value (or array of values).

Tim
 

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