⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wordcom.txt

📁 如何在word中插入图片 如何在word中插入图片
💻 TXT
字号:
在COM中如何WORD文档中插入图片的问题 
我做的主要是用COM中的ATL来实现在WORD文档中添加一个工具栏按钮,在WORD中通过点击该按钮,会在文档的光标处添加一张指定的图片。导入OFFICE中的库 
工具的设置都没问题,程序编译通过了,但是运行却出现错误,然后停止。肯定是我调用WORD的接口指针时出现了问题,附上我的图片贴入代码。 
首   先   调   用   A   P   I   函   数CLSIDFromProgID( ), 将程序名“Word.Application”转换为类标识符,再将类标识符传递给GetActiveObject( ),便 
可获得Word   的IUnknown   接口,接下来调用QueryInterface()函数最终获得接口指针pDisp,也就获得了当前文档的控制权。 
程序编译没有问题 
CLSID   clsid; 
  CLSIDFromProgID(L"Word.Application",&clsid); 
  IUnknown   *punk; 
  IDispatch       *pDisp;   
  
  HRESULT   hr=GetActiveObject(clsid,NULL,(IUnknown**)&punk); 
if(SUCCEEDED(hr)) 
{       hr=punk-> QueryInterface(IID_IDispatch,(void   **)&pDisp); 
        ATLASSERT(!FAILED(hr)); 
// app-> AttachDispatch(pDisp,true);   
// CComPtr   <Word::_Application>   app(pDisp); 

      Word::_ApplicationPtr   app=pDisp; 
      Word::SelectionPtr   m_wordselection=app-> GetSelection(); 
      Word::RangePtr   m_wordrange   =   m_wordselection-> GetRange(); 
      Word::InlineShapesPtr   m_wordshape   =   m_wordrange-> GetInlineShapes(); 
    //   LPCTSTR   FileName   =   L"D:\图像\Blood.bmp"; 
      CComVariant   LinkToFile(FALSE); 
      CComVariant   SaveWithDocument(TRUE); 
      CComVariant   RangeT; 
      RangeT.vt   =   VT_DISPATCH; 
      RangeT.pdispVal   =   m_wordrange; 
      m_wordshape-> AddPicture("Blood.bmp",&LinkToFile,&SaveWithDocument,&RangeT); 

} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -