Click to See Complete Forum and Search --> : Excel Copy/Paste: Uregent


Sunil Meruga
October 26th, 1999, 08:21 AM
I have some data which I'm showing in my UI (Sort of Grid ctrl). I would like to copy it into clip board and make it available to paste in an XLS. Can any one help me in this regard!! I would be grateful if any one can..

Thanks
Sunil

October 26th, 1999, 09:16 AM
Don't know if this helps or not, but I display a graph chart on screen and allow the user to invoke Word and paste in a copy of the chart.

_Application wd;
Documents docs;
_Document doc;
VARIANT args1;
VARIANT args2;
VARIANT iconindex;
VARIANT link;
VARIANT placement;
VARIANT displayasicon;
VARIANT datatype;
VARIANT iconfilename;
VARIANT iconlabel;
VARIANT direction;
Range8 rng;
long lRet = -1;

VariantInit(&args1);
VariantInit(&args2);

VariantInit(&iconindex);
VariantInit(&link);
VariantInit(&placement);
VariantInit(&displayasicon);
VariantInit(&datatype);
VariantInit(&iconfilename);
VariantInit(&iconlabel);
VariantInit(&direction);

args1.vt = VT_ERROR;
args2.vt = VT_ERROR;
args1.scode = DISP_E_PARAMNOTFOUND;
args2.scode = DISP_E_PARAMNOTFOUND;
//args1 = VT_NULL;
//args2 = VT_NULL);
LPDISPATCH lpDisp;
COleException e;

BeginWaitCursor();

wd.CreateDispatch("Word.Application.8", &e);
wd.SetVisible(FALSE);
lpDisp = wd.GetDocuments();
docs.AttachDispatch(lpDisp);
lRet = docs.GetCount();

lpDisp = docs.Add(&args1, &args2);
doc.AttachDispatch(lpDisp);
lpDisp = doc.GetContent();
rng.AttachDispatch(lpDisp);

LPDISPATCH font;
font = rng.GetFont();

CString text = "\t\tCOMPARISON GRAPH Created: ";
CString time_string = CTime::GetCurrentTime().Format("%B %d, %Y");

text += time_string;
text += "\n";

rng.SetText(text);

m_chart.EditCopy();

V_VT(&direction) = VT_I4;
V_I4(&direction) = 0;

rng.Collapse(&direction);

V_VT(&iconindex) = VT_I4;
V_I4(&iconindex) = 0;

V_VT(&link) = VT_BOOL;
V_BOOL(&link) = FALSE;

V_VT(&placement) = VT_I4;
V_I4(&placement) = 0;

V_VT(&displayasicon) = VT_BOOL;
V_BOOL(&displayasicon) = FALSE;

V_VT(&datatype) = VT_I4;
V_I4(&datatype) = 3;

BSTR bstr;
bstr = SysAllocString(OLESTR("test"));

V_VT(&iconfilename) = VT_BSTR;
V_BSTR(&iconfilename ) = bstr;

V_VT(&iconlabel) = VT_BSTR;
V_BSTR(&iconlabel ) = bstr;

rng.PasteSpecial(&iconindex,
&link,
&placement,
&displayasicon,
&datatype,
&iconfilename,
&iconlabel);

text = "\n\t\t\t\t\tGraph Values\n";

rng.InsertAfter(text);

wd.SetVisible(TRUE);

rng.ReleaseDispatch();
doc.ReleaseDispatch();
docs.ReleaseDispatch();
wd.ReleaseDispatch();