求助-如何将word中页眉页脚信息提取出来?

程序开发园 2017-08-04 02:18:40
如题,如何将word中页眉页脚信息提取出来?

目前使用docToText能够提取正文部分的,页眉页脚无法提取。能否通过改源码实现这个功能?
有做过相关的大神可以给些提示哈

或者有其他的库方法思路也可以提供下,谢谢啦!
...全文
696 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序开发园 2017-08-07
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
调用Office365云API? 你别再问我机器在不能上网的情况下如何实现。
这个必须要联网的吧?是否需要再安装office软件呢?谢谢 不好意思,这块不太了解,希望指点一二。
赵4老师 2017-08-04
  • 打赏
  • 举报
回复
调用Office365云API? 你别再问我机器在不能上网的情况下如何实现。
程序开发园 2017-08-04
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
在Word中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。
这个是要依赖于office的,有没有其他的方法,机器在没有office软件的情况下如何实现上述功能。
程序开发园 2017-08-04
  • 打赏
  • 举报
回复
引用 1 楼 sdghchj 的回复:
参考

Word::WindowPtr ipWindow = NULL;
 hr = ipDocument->get_ActiveWindow(&ipWindow); //得到活动窗口
 if(FAILED(hr) || ipWindow == NULL)
      return;
 Word::PanePtr ipPane = NULL
 hr = ipWindow->get_ActivePane(&ipPane); //得到活动窗格
 Word::ViewPtr ipView = NULL;
 hr = ipPane->get_View(&ipView);//得到窗格中的视口
 hr = ipView->put_SeekView(Word::wdSeekCurrentPageHeader);//焦点转到视口中的页眉
  Word::SelectionPtr ipSelection = NULL;
 hr = ipApplication->get_Selection(&ipSelection);//得到程序的输入焦点(选择区),此时在页眉处
 SYSTEMTIME sysTime;
 ::GetSystemTime(&sysTime);
 CString str;
 str.Format(_T("%d-%d-%d"),sysTime.wYear,sysTime.wMonth,sysTime.wDay);
 hr = ipSelection->TypeText(str.AllocSysString());//在页眉处写入年月日的日期字符串
 hr = ipView->put_SeekView(Word::wdSeekMainDocument); //焦点转回到主文档

 hr = ipApplication->get_Selection(&ipSelection);); //得到程序的输入焦点(选择区)
 if(FAILED(hr) || ipSelection == NULL)
      return;
 Word::ParagraphsPtr ipParagraphs = NULL;
 ipSelection->get_Paragraphs(&ipParagraphs);//得到程序的输入焦点所在的段落
这个需要手动操作word文档吗?我的需求是有word文档,机器上面都不一定有office软件,需要通过类似于docToText软件的东西去提取出页眉页脚,有这方面的思路吗?谢谢
赵4老师 2017-08-04
  • 打赏
  • 举报
回复
在Word中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。
sdghchj 2017-08-04
  • 打赏
  • 举报
回复
参考

Word::WindowPtr ipWindow = NULL;
 hr = ipDocument->get_ActiveWindow(&ipWindow); //得到活动窗口
 if(FAILED(hr) || ipWindow == NULL)
      return;
 Word::PanePtr ipPane = NULL;
 hr = ipWindow->get_ActivePane(&ipPane); //得到活动窗格
 Word::ViewPtr ipView = NULL;
 hr = ipPane->get_View(&ipView);//得到窗格中的视口
 hr = ipView->put_SeekView(Word::wdSeekCurrentPageHeader);//焦点转到视口中的页眉
  Word::SelectionPtr ipSelection = NULL;
 hr = ipApplication->get_Selection(&ipSelection);//得到程序的输入焦点(选择区),此时在页眉处
 SYSTEMTIME sysTime;
 ::GetSystemTime(&sysTime);
 CString str;
 str.Format(_T("%d-%d-%d"),sysTime.wYear,sysTime.wMonth,sysTime.wDay);
 hr = ipSelection->TypeText(str.AllocSysString());//在页眉处写入年月日的日期字符串
 hr = ipView->put_SeekView(Word::wdSeekMainDocument); //焦点转回到主文档

 hr = ipApplication->get_Selection(&ipSelection);); //得到程序的输入焦点(选择区)
 if(FAILED(hr) || ipSelection == NULL)
      return;
 Word::ParagraphsPtr ipParagraphs = NULL;
 ipSelection->get_Paragraphs(&ipParagraphs);//得到程序的输入焦点所在的段落

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧