<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: Поиск и замена текста по шаблону в файлах Word]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7132&amp;type=atom" />
	<updated>2012-04-24T05:51:29Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7132</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск и замена текста по шаблону в файлах Word]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59683#p59683" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p><strong>uniksist</strong>, в статье-то как раз всё верно. Там решается иная задача: найти текст в документе Word внутри двойных квадратных скобок. Метод использован, как я уже писал выше, несколько странный. Но речи о замене текста в той статье не ведётся. «Replace()» использован только для того, чтобы вослед использованному методу поиска удалить из найденного обрамляющие двойные скобки.</p></blockquote></div><p>Ну, тогда значит я невнимательно читал <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[uniksist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27284</uri>
			</author>
			<updated>2012-04-24T05:51:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59683#p59683</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск и замена текста по шаблону в файлах Word]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59676#p59676" />
			<content type="html"><![CDATA[<p><strong>uniksist</strong>, в статье-то как раз всё верно. Там решается иная задача: найти текст в документе Word внутри двойных квадратных скобок. Метод использован, как я уже писал выше, несколько странный. Но речи о замене текста в той статье не ведётся. «Replace()» использован только для того, чтобы вослед использованному методу поиска удалить из найденного обрамляющие двойные скобки.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-04-23T19:43:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59676#p59676</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск и замена текста по шаблону в файлах Word]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59674#p59674" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Хотя там, где я взял этот код, приведена целая статья (на несколько страниц!)…</p></blockquote></div><p><strong>uniksist</strong>, а приведите ссылку.</p></blockquote></div><p>А я её наоборот убрал, посчитав, что она оказалась в обсуждении бесполезной, а для форума какой-никакой, а балласт.<br />Ну, раз так, то вот эта статья: <a href="http://blogs.technet.com/b/heyscriptingguy/archive/2006/05/31/how-can-i-search-a-word-document-for-all-the-words-in-double-brackets.aspx">How Can I Search a Word Document for All the Words in Double Brackets? - Hey, Scripting Guy! Blog - Site Home - TechNet Blogs</a>.</p>]]></content>
			<author>
				<name><![CDATA[uniksist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27284</uri>
			</author>
			<updated>2012-04-23T14:05:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59674#p59674</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск и замена текста по шаблону в файлах Word]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59670#p59670" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Хотя там, где я взял этот код, приведена целая статья (на несколько страниц!)…</p></blockquote></div><p><strong>uniksist</strong>, а приведите ссылку.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-04-23T12:28:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59670#p59670</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск и замена текста по шаблону в файлах Word]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59664#p59664" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p><strong>uniksist</strong>, в строке strWord — да, замена. Но на само содержимое документа сие никак не влияет.</p></blockquote></div><p>Alexii, спасибо, ваш вариант кода прекрасно работает <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> <br />А вот вариант, вышеприведённый мной, не работает. Хотя там, где я взял этот код, приведена целая статья (на несколько страниц!) по функционированию этого незатейливого набора строчек с обещанием именно поиска и замены в результате <img src="//forum.script-coding.com/img/smilies/hmm.png" width="15" height="15" /> И такой пшик на выхлопе... Хотя, по видимому, и в этом коде нужна лишь небольшая доработка для его работоспособности. Но, увы, ВБС знаю не очень, так что пока воспользуюсь вашим кодом. А там, уж когда-нибудь разберусь и доработаю для альтернативы и вышеприведённый код.</p>]]></content>
			<author>
				<name><![CDATA[uniksist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27284</uri>
			</author>
			<updated>2012-04-23T07:25:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59664#p59664</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск и замена текста по шаблону в файлах Word]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59626#p59626" />
			<content type="html"><![CDATA[<p><strong>uniksist</strong>, в строке strWord — да, замена. Но на само содержимое документа сие никак не влияет.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-04-22T10:49:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59626#p59626</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск и замена текста по шаблону в файлах Word]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59624#p59624" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p><strong>uniksist</strong>, я вовсе не вижу в коде каких-либо операций замены. Поиск вижу, странный несколько, но вижу. Замены — нет.</p><p>Попробуйте так:<br /></p><div class="codebox"><pre><code>...</code></pre></div></blockquote></div><p>Спасибо, попробую по вашему.<br />Но, вообще удивлён, что в вышеописанном скрипте нет замены <img src="//forum.script-coding.com/img/smilies/hmm.png" width="15" height="15" /><br />Ведь код:<br /></p><div class="codebox"><pre><code>strWord = Replace(strWord, &quot;...&quot;, &quot;&quot;)</code></pre></div><p>явная попытка заменить включение в строке. Может правда криво сооружено. А может дело в конкретной машине, на которой я тестрировал? - Сегодня попробую на другой, отпишусь.</p>]]></content>
			<author>
				<name><![CDATA[uniksist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27284</uri>
			</author>
			<updated>2012-04-22T08:51:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59624#p59624</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск и замена текста по шаблону в файлах Word]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59599#p59599" />
			<content type="html"><![CDATA[<p><strong>uniksist</strong>, я вовсе не вижу в коде каких-либо операций замены. Поиск вижу, странный несколько, но вижу. Замены — нет.</p><p>Попробуйте так:<br /></p><div class="codebox"><pre><code>Option Explicit

Const wdReplaceAll = 2

With WScript.CreateObject(&quot;Word.Application&quot;)
    .Visible = False
    
    With .Documents.Open(&quot;C:\Scripts\Test.doc&quot;)
        If .Content.Find.Execute(&quot;\[\[(*)\]\]&quot;, , , True, , , , , , &quot;\1&quot;, wdReplaceAll) Then
            .Save
        End If
        
        .Close
    End With
    
    .Quit
End With

WScript.Quit 0</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-04-20T19:50:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59599#p59599</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBScript: Поиск и замена текста по шаблону в файлах Word]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59584#p59584" />
			<content type="html"><![CDATA[<p>Есть вот такой скрипт на ВБС, который в разных вариантах можно найти в Сети:<br /></p><div class="codebox"><pre><code>Set objWord = CreateObject(&quot;Word.Application&quot;)
objWord.Visible = True

Set objDoc = objWord.Documents.Open(&quot;C:\Scripts\Test.doc&quot;)
Set objSelection = objWord.Selection

objSelection.Find.Forward = True
objSelection.Find.MatchWildcards = True
objSelection.Find.Text = &quot;\[\[*\]\]&quot;

Do While True
    objSelection.Find.Execute
    If objSelection.Find.Found Then
        strWord = objSelection.Text
        strWord = Replace(strWord, &quot;[[&quot;, &quot;&quot;)
        strWord = Replace(strWord, &quot;]]&quot;, &quot;&quot;)
        Wscript.Echo strWord
    Else
        Exit Do
    End If
Loop</code></pre></div><p>У меня этот скрипт работает некорректно. Строку поиска ищет и находит, находит даже шаблонное включение - это можно наблюдать при включённом </p><div class="codebox"><pre><code>objWord.Visible = True</code></pre></div><p>Но заменять шаблонное включение ни как не желает. Ошибок тоже не выдаёт. Тестирую скрипт на машине под ХР, Офис2003. В чём здесь может быть дело? У кого-нибудь работает эта конструкция?</p><p>ЗЫ. Кто будет тестировать - рекомендую в конце кода добавить:<br /></p><div class="codebox"><pre><code>objWord.Quit
Set objWord = Nothing</code></pre></div><p>Иначе Ворд будет продолжать работать после завершения скрипта, а файл будет оставаться открытым в фоновом режиме.</p>]]></content>
			<author>
				<name><![CDATA[uniksist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27284</uri>
			</author>
			<updated>2012-04-20T11:38:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59584#p59584</id>
		</entry>
</feed>
