请问怎样控制程序在word中画图 要求: 在vc程序中,控制word在特定的位置(如第三段之后)用word自带的画图工具(直线,矩形,自选图形等)画图,图形不是很难,就是直线,矩形和一个圆弧即可。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 VBA脚本例子:myDoc.Shapes.AddShape msoShapeRectangle, 5, 25, 100, 50 VC例子void CWebOfficeCtrl::LoadUnit(void){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); // TODO: 在此添加调度处理程序代码 //m_pWebOfficeFrame->m_pWebOfficeView->m_pSelection->DeactivateUI(); LPDISPATCH lpDisp; lpDisp=m_pWebOfficeFrame->m_pWebOfficeView->m_pSelection->GetIDispatch(); _Application_Word m_WordApp; _Document_Word m_WordDoc; m_WordDoc.AttachDispatch(lpDisp,TRUE); //m_WordDoc.Activate(); m_WordApp=m_WordDoc.GetApplication(); InlineShapes_Word m_WordInlineShapes; InlineShape_Word m_WordInlineShape; Selection_Word m_WordSelection; m_WordSelection=m_WordApp.GetSelection(); m_WordInlineShapes=m_WordSelection.GetInlineShapes(); COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR); //AfxMessageBox(m_UnitName,MB_ICONINFORMATION); m_WordInlineShape=m_WordInlineShapes.AddPicture(DownUnit(m_UnitName),vFalse,vTrue,vOptional); //2003.11.29 Add By DigitalTitan[设置图元重叠属性] Shape_Word m_WordShape; m_WordShape=m_WordInlineShape.ConvertToShape(); Shapes_Word m_WordShapes; VARIANT varResult; varResult.vt=VT_I4; varResult.lVal=m_WordShapes.GetCount(); m_WordShape=m_WordShapes.Item(&varResult); m_WordShape.Select(&varResult); WrapFormat_Word m_WordWrapFormat; m_WordWrapFormat=m_WordShape.GetWrapFormat(); m_WordShape.SetRelativeHorizontalPosition(2); m_WordShape.SetRelativeVerticalPosition(1); if(m_UnitTop!="UnitTop") {m_WordShape.SetTop((float)atoi(m_UnitTop));} if(m_UnitLeft!="UnitLeft") {m_WordShape.SetLeft((float)atoi(m_UnitLeft));} if(m_UnitWidth!="UnitWidth") {m_WordShape.SetWidth((float)atoi(m_UnitWidth));} if(m_UnitHeight!="UnitHeight") {m_WordShape.SetHeight((float)atoi(m_UnitHeight));} m_WordWrapFormat.SetAllowOverlap(TRUE); m_WordWrapFormat.SetType(3); m_WordWrapFormat.ReleaseDispatch(); m_WordShape.ReleaseDispatch(); m_WordShapes.ReleaseDispatch(); // m_WordInlineShape.ReleaseDispatch(); m_WordInlineShapes.ReleaseDispatch(); m_WordSelection.ReleaseDispatch(); m_WordDoc.ReleaseDispatch(); m_WordApp.ReleaseDispatch(); //m_pWebOfficeFrame->m_pWebOfficeView->m_pSelection->Activate(OLEIVERB_SHOW,m_pWebOfficeFrame->m_pWebOfficeView,NULL);} 你可以在Word中录制宏后查看宏代码然后改造到VC中,一些VBA参数可以在Word中用宏来获取. to数字金刚:在word中录制宏没有问题,我主要就是在画图的时候没办法把word的绘图的区域加进去,你的代码我先试试看啊 关于调用对话框的问题 如何用ATL编写有界面的能在WEB程序上用的ACTIVEX控件? 两个简单问题,帮帮我!谢谢! 请教高手:如何将轮廓的4链码表示转换成8链码?? 一个小问题?? 怎样判断 当前是否连接到 Internet ?谢谢~~如果有现成的类最好~~~ samyoung(sam)来取分 大家帮忙看看这段GDI资源泄漏的代码。 随机数问题?要利用随机数做一个算法? 各位大虾有没有关于MFC图片 上传 显示 保存的例子啊 现在做一个档案管理 需要在个人信息里显示图片~~~ 重新分割窗口的问题,为何第三差点击就报错? 问:不同网段之间可以使用DCOM通讯么?500分
myDoc.Shapes.AddShape msoShapeRectangle, 5, 25, 100, 50
void CWebOfficeCtrl::LoadUnit(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()); // TODO: 在此添加调度处理程序代码
//m_pWebOfficeFrame->m_pWebOfficeView->m_pSelection->DeactivateUI();
LPDISPATCH lpDisp;
lpDisp=m_pWebOfficeFrame->m_pWebOfficeView->m_pSelection->GetIDispatch();
_Application_Word m_WordApp;
_Document_Word m_WordDoc;
m_WordDoc.AttachDispatch(lpDisp,TRUE);
//m_WordDoc.Activate();
m_WordApp=m_WordDoc.GetApplication();
InlineShapes_Word m_WordInlineShapes;
InlineShape_Word m_WordInlineShape;
Selection_Word m_WordSelection;
m_WordSelection=m_WordApp.GetSelection();
m_WordInlineShapes=m_WordSelection.GetInlineShapes();
COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
//AfxMessageBox(m_UnitName,MB_ICONINFORMATION);
m_WordInlineShape=m_WordInlineShapes.AddPicture(DownUnit(m_UnitName),vFalse,vTrue,vOptional);
//2003.11.29 Add By DigitalTitan[设置图元重叠属性]
Shape_Word m_WordShape;
m_WordShape=m_WordInlineShape.ConvertToShape();
Shapes_Word m_WordShapes;
VARIANT varResult;
varResult.vt=VT_I4;
varResult.lVal=m_WordShapes.GetCount();
m_WordShape=m_WordShapes.Item(&varResult);
m_WordShape.Select(&varResult);
WrapFormat_Word m_WordWrapFormat;
m_WordWrapFormat=m_WordShape.GetWrapFormat();
m_WordShape.SetRelativeHorizontalPosition(2);
m_WordShape.SetRelativeVerticalPosition(1);
if(m_UnitTop!="UnitTop")
{m_WordShape.SetTop((float)atoi(m_UnitTop));}
if(m_UnitLeft!="UnitLeft")
{m_WordShape.SetLeft((float)atoi(m_UnitLeft));}
if(m_UnitWidth!="UnitWidth")
{m_WordShape.SetWidth((float)atoi(m_UnitWidth));}
if(m_UnitHeight!="UnitHeight")
{m_WordShape.SetHeight((float)atoi(m_UnitHeight));}
m_WordWrapFormat.SetAllowOverlap(TRUE);
m_WordWrapFormat.SetType(3);
m_WordWrapFormat.ReleaseDispatch();
m_WordShape.ReleaseDispatch();
m_WordShapes.ReleaseDispatch();
//
m_WordInlineShape.ReleaseDispatch();
m_WordInlineShapes.ReleaseDispatch();
m_WordSelection.ReleaseDispatch();
m_WordDoc.ReleaseDispatch();
m_WordApp.ReleaseDispatch(); //m_pWebOfficeFrame->m_pWebOfficeView->m_pSelection->Activate(OLEIVERB_SHOW,m_pWebOfficeFrame->m_pWebOfficeView,NULL);
}