Click here to Skip to main content
15,918,967 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: new&delete, malloc&free Pin
jhwurmbach13-Jan-03 22:46
jhwurmbach13-Jan-03 22:46 
GeneralRe: new&delete, malloc&free Pin
raner14-Jan-03 0:19
raner14-Jan-03 0:19 
GeneralRe: new&delete, malloc&free Pin
jhwurmbach14-Jan-03 1:08
jhwurmbach14-Jan-03 1:08 
GeneralThks jhwurmbach & AlexO Pin
raner14-Jan-03 20:56
raner14-Jan-03 20:56 
GeneralRe: Thks jhwurmbach & AlexO Pin
jhwurmbach14-Jan-03 22:59
jhwurmbach14-Jan-03 22:59 
GeneralRe: Thks jhwurmbach & AlexO Pin
raner15-Jan-03 3:54
raner15-Jan-03 3:54 
GeneralRe: new&delete, malloc&free Pin
AlexO14-Jan-03 4:20
AlexO14-Jan-03 4:20 
GeneralWord Automation Pin
Exceter13-Jan-03 18:56
Exceter13-Jan-03 18:56 
The following example inserts a text (L"Los Angeles") into the bookmark "[City]" in the word.
please, how to pass the text with CString variable instead of (L"text"). That is I need to insert a variable

and please, How to call a "SaveAs" command of the MSWord.

thanx.

void CWordAutoView::OnWordautomation()
{
if (!AfxOleInit())
{
AfxMessageBox("Could not Create an Automation");
return;
}

VARIANT root[64] = {0}; // Generic IDispatchs
VARIANT parm[64] = {0}; // Generic Parameters
VARIANT rVal = {0}; // Temporary result holder
int level=0; // Current index into root[]

// Initialize the OLE Library...
OleInitialize(NULL);

// 1:
VARIANT Sub = {0};
VariantCopy(&Sub, &rVal);

// 2:
VARIANT wordApp = {0};

// 3:
VARIANT wordDoc = {0};

// 4:
VARIANT wordRange = {0};

// 5:
{
CLSID clsid;
CLSIDFromProgID(L"Word.Application", &clsid);
HRESULT hr = CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER|CLSCTX_INPROC_SERVER, IID_IDispatch, (void **)&rVal.pdispVal);
if(FAILED(hr)) {
char buf[256];
sprintf(buf, "CoCreateInstance() for \"Word.Application\" failed. Err=%08lx", hr);
::MessageBox(NULL, buf, "Error", 0x10010);
_exit(0);
}
rVal.vt = VT_DISPATCH;
}
VariantCopy(&wordApp, &rVal);
VariantClear(&rVal);

// 6: Open D:\\Wordtest.doc
VariantCopy(&root[++level], &wordApp);
AutoWrap(DISPATCH_PROPERTYGET|DISPATCH_METHOD, &root[level+1], root[level++].pdispVal, L"Documents", 0);
parm[0].vt = VT_BSTR; parm[0].bstrVal = ::SysAllocString(L"D:\\Wordtest.doc");

AutoWrap(DISPATCH_PROPERTYGET|DISPATCH_METHOD, &rVal, root[level].pdispVal, L"Open", 1, parm[0]);

VariantClear(&parm[0]);
VariantClear(&root[level--]);
VariantClear(&root[level--]);
VariantCopy(&wordDoc, &rVal);
VariantClear(&rVal);

// 7:
rVal.vt = VT_I4;
rVal.lVal = 1;
VariantCopy(&root[++level], &wordApp);
AutoWrap(DISPATCH_PROPERTYPUT, NULL, root[level].pdispVal, L"Visible", 1, rVal);

VariantClear(&root[level--]);
VariantClear(&rVal);

// 8:
VariantCopy(&root[++level], &wordDoc);
AutoWrap(DISPATCH_PROPERTYGET|DISPATCH_METHOD, &rVal, root[level].pdispVal, L"Goto", 1, parm[0]);

VariantClear(&parm[0]);
VariantClear(&root[level--]);
VariantCopy(&wordRange, &rVal);
VariantClear(&rVal);

// 9:
CString city;
city = "MyCity";

VariantCopy(&root[++level], &wordRange);
parm[0].vt = VT_BSTR; parm[0].bstrVal = ::SysAllocString(L"LOS Angeles");
AutoWrap(DISPATCH_METHOD, NULL, root[level].pdispVal, L"InsertAfter", 1, parm[0]);

VariantClear(&parm[0]);
VariantClear(&root[level--]);



// 10: Save
VariantCopy(&root[++level], &wordDoc);
AutoWrap(DISPATCH_METHOD, NULL, root[level].pdispVal, L"SaveAs", 0);

VariantClear(&root[level--]);

// 11:
VariantClear(&wordApp);

// 12:

// Clearing variables
VariantClear(&Sub);
VariantClear(&wordApp);
VariantClear(&wordDoc);
VariantClear(&wordRange);

// Close the OLE Library...
OleUninitialize();

}


GeneralRe: Word Automation Pin
Anonymous13-Jan-03 20:40
Anonymous13-Jan-03 20:40 
GeneralMAC based Firewall Pin
summo13-Jan-03 18:11
summo13-Jan-03 18:11 
GeneralRe: MAC based Firewall Pin
Dana Epp15-Jan-03 9:02
Dana Epp15-Jan-03 9:02 
Generalproblem in debugging VC 6 code in windows xp Pin
r i s h a b h s13-Jan-03 16:45
r i s h a b h s13-Jan-03 16:45 
General*.pck file Pin
:_Rocket_:13-Jan-03 16:04
:_Rocket_:13-Jan-03 16:04 
GeneralRe: *.pck file Pin
Taka Muraoka13-Jan-03 17:38
Taka Muraoka13-Jan-03 17:38 
GeneralRe: *.pck file Pin
Ted Ferenc13-Jan-03 22:54
Ted Ferenc13-Jan-03 22:54 
Generalmodeless dialog(rather long story), I appreciate Pin
Anonymous13-Jan-03 15:29
Anonymous13-Jan-03 15:29 
GeneralRe: modeless dialog(rather long story), I appreciate Pin
Joaquín M López Muñoz13-Jan-03 20:58
Joaquín M López Muñoz13-Jan-03 20:58 
GeneralRe: modeless dialog(rather long story), I appreciate Pin
Hans Ruck13-Jan-03 22:02
Hans Ruck13-Jan-03 22:02 
GeneralRe: modeless dialog(rather long story), I appreciate Pin
Anonymous14-Jan-03 3:53
Anonymous14-Jan-03 3:53 
GeneralRe: modeless dialog(rather long story), I appreciate Pin
Hans Ruck14-Jan-03 5:14
Hans Ruck14-Jan-03 5:14 
GeneralRe: modeless dialog(rather long story), I appreciate Pin
Anonymous14-Jan-03 5:25
Anonymous14-Jan-03 5:25 
GeneralRe: modeless dialog(rather long story), I appreciate Pin
Hans Ruck14-Jan-03 5:44
Hans Ruck14-Jan-03 5:44 
GeneralRe: modeless dialog(rather long story), I appreciate Pin
Anonymous14-Jan-03 10:11
Anonymous14-Jan-03 10:11 
GeneralRe: modeless dialog(rather long story), I appreciate Pin
Anonymous14-Jan-03 11:29
Anonymous14-Jan-03 11:29 
GeneralText outline help. Pin
clintsinger13-Jan-03 13:35
clintsinger13-Jan-03 13:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.