﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Программирование / C++  / Поиск в Word / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Thu, 08 Jan 2009 06:59:24 GMT</lastBuildDate><ttl>20</ttl><item><title>Поиск в Word</title><link>http://relib.com/forums/Topic906694-7-1.aspx</link><description>Сразу скажу - в классическом C++ не очень, в основном на C# и VB. Но вот стоит передо мною задача, а выполнить никак не могу. Потому и уповаю на вашу помощь. Задача така - нужно выполнять поиск в документе Word по заданному шаблону. Для этого пишу&lt;FONT size=2&gt;&lt;P&gt;[code]_bstr_t m_strTemplateFile; //Имя файла. &lt;/P&gt;&lt;P&gt;::Word::_ApplicationPtr ptr(L"Word.Application");&lt;/P&gt;&lt;P&gt;::Word::_DocumentPtr pDoc; &lt;/P&gt;&lt;P&gt;::Word::DocumentsPtr pDocs = ptr-&amp;gt;Documents;&lt;/P&gt;&lt;P&gt;_variant_t vDestFile(m_strTemplateFile);&lt;/P&gt;&lt;P&gt;pDoc = pDocs-&amp;gt;Open(&amp;amp;vDestFile);&lt;/P&gt;&lt;P&gt;::Word::RangePtr pRange = pDoc-&amp;gt;Content;&lt;/P&gt;&lt;P&gt;::Word::FindPtr pDocFind = pRange-&amp;gt;Find;&lt;/P&gt;&lt;P&gt;pDocFind-&amp;gt;Forward = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;true&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/P&gt;&lt;P&gt;pDocFind-&amp;gt;Wrap = ::Word::wdFindContinue;&lt;/P&gt;&lt;FONT size=2&gt;&lt;P&gt;_variant_t searchW = _bstr_t(&lt;A href="file://%3C*//%3E"&gt;\\&amp;lt;*\\&amp;gt;&lt;/A&gt;); //Шаблон поиска&lt;/P&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;while&lt;/FONT&gt;&lt;FONT size=2&gt; (pDocFind-&amp;gt;Execute(&amp;amp;searchW)){ &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;    CString tagText = pRange-&amp;gt;Text; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;Так вот валится на строке &lt;/P&gt;&lt;P&gt;pDocFind-&amp;gt;Wrap = ::Word::wdFindContinue;&lt;/P&gt;&lt;P&gt;Причем была инициализация и других параметров, но и на них валилось - я решил оставить пока только этот. &lt;/P&gt;&lt;P&gt;Заключал код в try{}catch(){}&lt;/P&gt;&lt;P&gt;удалось получить сообщения &lt;/P&gt;&lt;P&gt;[code]The remote procedure call failed. [/code]&lt;/P&gt;&lt;P&gt;  и&lt;/P&gt;&lt;P&gt;[code]The stub received bad data.[/code]&lt;/P&gt;&lt;P&gt;Помогите, плз!!!!! &lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Tue, 31 Oct 2006 10:04:21 GMT</pubDate><dc:creator>foby</dc:creator></item></channel></rss>