描述:
(1)100分求一简单问题答案:VC-word-如何将图片插入到word文档尾部?这段程序无误,可以将图片插入word文档中,但插入的图片总在word文档的第一段,为什么?
BOOL CTestApp::InitInstance()
{
......
// 初始化 OLE 库
if (!AfxOleInit())
{
AfxMessageBox("OLE初始化失败!");
return FALSE;
}
......
}
void CTestDlg::OnButton1()
{
//word对象
_Application sApp;
//创建对象
BOOL bRet=sApp.CreateDispatch ("Word.Application",NULL);
//文档对象
_Document sDoc;
//文档对象集合
Documents sDocs;
//从word对象中取得文档对象集合
sDocs=sApp.GetDocuments ();
//定义要忽略的参数
VARIANT vt ;
vt.vt =VT_ERROR;
vt.scode =DISP_E_PARAMNOTFOUND;
//文件名
VARIANT varFileName;
VariantInit(&varFileName);
varFileName.vt =VT_BSTR;
varFileName.bstrVal = SysAllocString(L"E:\\Test.doc");
//新建文档,没有名字...,把文档加入的集合中
sDoc=sDocs.Add (&vt,&vt,&vt,&vt);
//wdParagraph是office中定义的常量,可以直接用其值
VARIANT wdParagraph;
wdParagraph.vt = VT_I4;
wdParagraph.intVal =4;
//取得选择区对象
Selection sSel;
sSel=sApp.GetSelection ();
//向选区中插入文字段
sSel.TypeText(" aaaaaaaaaaaa");
sSel.TypeParagraph();
sSel.TypeText(" bbbbbbbbbbbb");
sSel.TypeParagraph();
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
Shapes shps;//表示word中的所有图片
Shape shp;//表示word中的某张图片
shps=sDoc.GetShapes();//得到文档中的所有图片
//加入一张图片
Paragraph paragraph;//用来表示文档中某一段
Paragraphs paragraphs;//用来表示文档中所有段
paragraphs=sDoc.GetParagraphs();
paragraph=paragraphs.Item(3);//得到第n段,以插入到某段上
shps.AddPicture("E:\\MyBitmap.bmp",covOptional,covOptional,covOptional,covOptional,covOptional,covOptional,covOptional);
//保存
sDoc.SaveAs (&varFileName,&vt,&vt,&vt,&vt,&vt,&vt,&vt,&vt,&vt,&vt);
//清除文件名对象
VariantClear(&varFileName);
//退出
VARIANT v;
v.vt =VT_BOOL;
v.boolVal =VARIANT_FALSE;
sApp.Quit (&v,&vt,&vt);
}
(2)如果我想在程序中将两个word文档合并成一个word文档,该如何做?
(3)VBA代码和VC中写的代码有区别,哪里有这方面的资料?