View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
abhimanyu abhimanyu is offline
external usenet poster
 
Posts: 12
Default Accessing the underlying OLE data

I am creating an AddIn for Excel 2002+ using C# 2005.
I can access the OLEObject within Excel using interop but I dont know
how can I access the data inside it ("Native"). I tried using
OLEObject::Copy() and then using OleOpenClipboard() to get
IDataObject
pointer and it worked. But I don;t want to use clipboard during this
operation

this is what I did :

///////////////////////////////////////////////////////////////////////////*///////////////////////////////////////////////////////////////////////////*/////////////
Guid guidDataObject = new Guid("0000010E-0000-0000-
C000-000000000046"); // Guid for IDataObject
IntPtr pUnknown = Marshal.GetIUnknownForObject(oleObject);

IntPtr pDataObject = IntPtr.Zero;
int hr = Marshal.QueryInterface(pUnknown, ref guidDataObject, out
pDataObject);
///////////////////////////////////////////////////////////////////////////*///////////////////////////////////////////////////////////////////////////*/////////////

But the HRESULT says "Specified cast is not valid"
I also tried using OleRun() before QueryInterface(...), but it didnt
work.


thanks