<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBScript: Вставка линии в документ Word]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5777</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5777&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBScript: Вставка линии в документ Word».]]></description>
		<lastBuildDate>Tue, 17 May 2011 06:12:05 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48437#p48437</link>
			<description><![CDATA[<p>Вообщем, огромное вам спасибо, все работает как надо <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (wooch)]]></author>
			<pubDate>Tue, 17 May 2011 06:12:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48437#p48437</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48411#p48411</link>
			<description><![CDATA[<p>Немного причесал HTA-шку(идея утилиты понравилась, решил украсить):<br /></p><div class="codebox"><pre><code>
&lt;html&gt;
&lt;head&gt;
  &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=windows-1251&quot;&gt;
  &lt;title&gt;Формирование подписи в Outlook 2003,2007&lt;/title&gt;
  &lt;HTA:application 
  applicationName=&quot;SuperPodpisMaker&quot;
  border=&quot;dialog&quot;
  version=&quot;0.1&quot;
  maximizebutton=&quot;no&quot;
  minimizebutton=&quot;no&quot;
  showintaskbar=&quot;no&quot;
  singleinstance=&quot;yes&quot;
  scroll=&quot;no&quot; 
  icon=&quot;c:\WINDOWS\system32\ctfmon.exe&quot;
  /&gt;
  &lt;style type=&quot;text/css&quot;&gt;
  BODY {
    background-color: rgb(0,0,0);
    color: lime;
    border: none;
    margin: 10px 10px 10px 10px;
    font: 12px Arial;
  }
  TABLE {
    background-color: rgb(0,0,0);
    width: &quot;100%&quot;;
    border: none;
    margin: 0px 0px 0px 0px;
    font: 14px Arial;
  }
  &lt;/style&gt;

&lt;script language=&quot;vbscript&quot;&gt;
&#039;Процедура формирует подпись и устанавливает ее по умолчанию в Office 2003,2007
Sub Window_OnLoad
  window.resizeTo 380,280
End Sub
Sub Runmod()

&#039;Выбор языка, русский или английский
&#039;On Error Resume Next
If RadioButton(0).Checked Then
strRegard = &quot;С уважением, &quot;
strPhoneT = &quot;Тел.: &quot;
strFaxT = &quot;Факс: &quot;
strQua = &quot;Если у Вас есть претензии к качеству наших услуг, обращайтесь: &quot;
strGreen = &quot;Задумайтесь об окружающей среде, прежде чем распечатать это сообщение на бумаге.&quot;
End If
If RadioButton(1).Checked Then
strRegard = &quot;Best regards, &quot;
strPhoneT = &quot;Tel.: &quot;
strFaxT = &quot;Fax: &quot;
strQua = &quot;If you are not entirely satisfied with our service please contact: &quot;
strGreen = &quot;Please Consider the Environment before printing this Email.&quot;
End If

strName = name_1.value
strTitle = Title_1.value
strDepartment = Branch.value
strPhone = tel.value
strFax = fax.value
strEmail = &quot;quality@mail.com&quot;
strWeb = &quot;www.mail.com&quot;
strLogo = &quot;\\domain\NETLOGON\greenpeace.gif&quot;
Dim Signature: Signature = &quot;Podpis03&quot;
if 1=1 then
Set objWord = CreateObject(&quot;Word.Application&quot;)
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries

objSelection.Font.Name = &quot;Georgia&quot;
objSelection.Font.Size = &quot;10&quot;
objSelection.Font.Color = RGB (0, 0, 0)
objSelection.Paragraphs.Space1

Set objSelectionLine = objWord.Selection.InlineShapes.AddHorizontalLineStandard
With objSelectionLine
    .Width = 200
    .HorizontalLineFormat.Alignment = 0
End With

objSelection.TypeText strRegard

objSelection.TypeText strName
objSelection.TypeText CHR(11)

objSelection.Font.Italic = True
objSelection.TypeText strTitle
objSelection.TypeText CHR(11)

objSelection.Font.Italic = False
objSelection.Font.Bold = True
objSelection.TypeText strDepartment
objSelection.TypeText CHR(11)

objSelection.Font.Bold = False
objSelection.TypeText strPhoneT &amp; strPhone
objSelection.TypeText CHR(11)

objSelection.TypeText strFaxT &amp; strFax
objSelection.TypeText CHR(11)

objselection.font.color = RGB(0, 0, 255)

Set hyp = objSelection.Hyperlinks.Add(objSelection.Range, strWeb, &quot;&quot;, &quot;&quot;, strWeb)
hyp.Range.Font.Bold = True
hyp.Range.Font.Size = &quot;10&quot;
hyp.Range.Font.Name = &quot;Georgia&quot;
objSelection.TypeText CHR(11)

objSelection.Font.Name = &quot;Times New Roman&quot;

objSelection.Font.Size = &quot;8&quot;

objSelection.Font.Color = RGB (0, 0, 0)
objSelection.Font.Bold = True
objSelection.TypeText strQua
Set hyp = objSelection.Hyperlinks.Add (objSelection.range, &quot;mailto:&quot; &amp; strEmail, , , strEmail)
hyp.Range.Font.Bold = True
hyp.Range.Font.Color = RGB (0,0,139)
hyp.Range.Font.Size = &quot;8&quot;
hyp.Range.Font.Name = &quot;Times New Roman&quot;
objSelection.TypeText CHR(11)

objSelection.InlineShapes.AddPicture(strLogo)

objSelection.Font.Color = RGB (34, 139, 34)
objSelection.Font.Bold = False
objSelection.TypeText strGreen

Set objSelection = objDoc.Range()

objSignatureEntries.Add Signature, objSelection
objSignatureObject.NewMessageSignature = Signature
objSignatureObject.ReplyMessageSignature = Signature

objDoc.Saved = True
objDoc.Close
objWord.Quit

MsgBox &quot;Подпись сформирована&quot;,0,&quot;Подпись&quot;
end if



Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const f_ASCII = 0, f_Unicode = -1, f_Default = -2
&#039;===============================================================================
Dim SignFile
SignFile = CreateObject(&quot;WScript.Shell&quot;).ExpandEnvironmentStrings(&quot;%APPDATA%&quot;) &amp; &quot;\Microsoft\Signatures\&quot; &amp; Signature &amp; &quot;.htm&quot; &#039; подпись

Dim fso, f, ts
Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set f = fso.GetFile(SignFile)
Set ts = f.OpenAsTextStream(ForReading, f_ASCII)

&#039; Считываем всю подпись
Dim stroka : stroka = ts.ReadAll

&#039; Начинаем работать с регулярными выражениями:
Dim regEx, Match, Matches   &#039; Create variable.
Set regEx = New RegExp   &#039; Create a regular expression.
regEx.IgnoreCase = True   &#039; Set case insensitivity.
regEx.Global = True   &#039; Set global applicability.

regEx.Pattern = &quot;(?:&lt;div[\S\s]{0,}?)(&lt;hr[\S\s]{0,}?)(?:&lt;/div&gt;[\S\s]{0,}?)(?:&lt;p[\S\s]{0,}?&gt;)([\S\s]{0,}?)(?:&lt;/p&gt;)&quot; &#039; шаблон поиска:
Set Matches = regEx.Execute(stroka)
  For Each Match in Matches
   stroka = replace(stroka, Match.Value, Match.SubMatches(0) &amp; Match.SubMatches(1), 1, -1, vbTextCompare)
  Next
ts.Close

Set ts = fso.CreateTextFile(SignFile, True, False)
ts.Write(stroka)
ts.Close

End Sub
&lt;/script&gt;
&lt;/head&gt;

&lt;body &gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;Имя пользователя&lt;td&gt;
&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;name_1&quot; size=&quot;30&quot;&gt;&lt;td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Должность&lt;td&gt;
&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;title_1&quot; size=&quot;30&quot;&gt;&lt;td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Отделение&lt;td&gt;
&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;branch&quot; size=&quot;30&quot;&gt;&lt;td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Телефон&lt;td&gt;
&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;tel&quot; value=&quot;+7 ()&quot; size=&quot;30&quot;&gt;&lt;td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Факс&lt;td&gt;
&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;fax&quot; value=&quot;+7 ()&quot; size=&quot;30&quot;&gt;&lt;td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Русский &lt;input type=&quot;radio&quot; name=&quot;RadioButton&quot; checked&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;English &lt;input type=&quot;radio&quot; name=&quot;RadioButton&quot;&gt;
&lt;/p&gt;
&lt;p&gt;&lt;input type=&quot;button&quot; name=&quot;button1&quot; value=&quot;Сформировать&quot; onClick=&quot;Runmod()&quot; &gt;
&lt;/p&gt;
&lt;/body&gt;
&lt;/HTmL&gt;</code></pre></div><p>P.S. Как говорится, на вкус и цвет... Цвета, шрифты, иконку и т.д. менять в самом начале <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (BeS Yara)]]></author>
			<pubDate>Mon, 16 May 2011 11:52:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48411#p48411</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48410#p48410</link>
			<description><![CDATA[<p><strong>Xameleon</strong>, благодарю за разъяснения - исчерпывающе и доходчиво <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (BeS Yara)]]></author>
			<pubDate>Mon, 16 May 2011 10:56:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48410#p48410</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48409#p48409</link>
			<description><![CDATA[<p><strong>2 BeS Yara:</strong><br /></p><div class="quotebox"><cite>BeS Yara пишет:</cite><blockquote><p>P.P.S. никогда не задумывался, зачем WScript перед CreateObject, копипаста рулила. Надо будет на досуге с этим разобраться <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p></blockquote></div><p>В кратце - в WSH можно использовать <strong>WScript.CreateObject</strong> и просто <strong>CreateObject</strong></p><p>Разница в том, что обычный <strong>CreateObject</strong></p><p>принимает следующие аргументы<br /></p><div class="codebox"><pre><code>CreateObject(servername.typename [, location])

servername 
Required. The name of the application providing the object.

typename 
Required. The type or class of the object to create.

location 
Optional. The name of the network server where the object is to be created.</code></pre></div><p>В большинстве случаев второй параметр <strong>(location - имя удалённого сервера на котором будет создан объект)</strong> не используется. Он опциональный. Поэтому в основном вызов выглядит как <br /></p><div class="codebox"><pre><code>Set obj = CreateObject(&quot;servername.typename&quot;)</code></pre></div><p>а с сервером<br /></p><div class="codebox"><pre><code>Set obj = CreateObject(&quot;servername.typename&quot;,&quot;\\servername&quot;)</code></pre></div><p><a href="http://msdn.microsoft.com/en-us/library/dcw63t7z(v=vs.85).aspx">подробнее...</a></p><p>В случае с <strong>WScript.CreateObject</strong>, полное описание функции выглядит так <br /></p><div class="codebox"><pre><code>WScript.CreateObject(strProgID, [strSubPrefix])</code></pre></div><p><strong>strProgID</strong> - это тот же <strong>servername.typename</strong>, что и в обычной функции CreateObject, а вот <strong>strSubPrefix</strong> нужен для подключения созданного объекта к событиям по префиксу. Он тоже опциональный (необязательный). И его мы тоже используем в крайних случаях.</p><div class="codebox"><pre><code>Set objIE = WScript.CreateObject(&quot;InternetExplorer.Application&quot;,&quot;objIE_&quot;)
objIE.Visible = True
boolBrowserRunning = True 
 
Do While objIE.Visible
    WScript.Sleep 500
Loop

Sub objIE_NavigateComplete2(ByVal pDisp, URL)
    WScript.Echo &quot;You just navigated to&quot;, URL
End Sub 
 
Sub objIE_OnQuit()
    boolBrowserRunning = False
End Sub</code></pre></div><p>пример взят с <a href="http://www.devguru.com/technologies/wsh/quickref/wscript_CreateObject.html">www.devguru.com</a></p><p>Подводя итоги:<br /><strong>set o = WScript.CreateObject(&quot;servername.typename&quot;)</strong><br />и<br /><strong>set o = CreateObject(&quot;servername.typename&quot;)</strong><br />практически одно и тоже </p><p>а вот</p><p><strong>set o = WScript.CreateObject(&quot;servername.typename&quot;,&quot;\\server&quot;)</strong><br />и<br /><strong>set o = CreateObject(&quot;servername.typename&quot;,&quot;obj_&quot;)</strong></p><p>уже всё таки разные вещи. )</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Mon, 16 May 2011 10:45:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48409#p48409</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48408#p48408</link>
			<description><![CDATA[<div class="quotebox"><cite>wooch пишет:</cite><blockquote><p>как только я его вставляю в HTML или HTA то снова появляется этот лишний абзац</p></blockquote></div><p>Самая первая ошибка это &quot;On Error Resume Next&quot; <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Отключаем ингнорирование ошибок, запускаем и видим &quot;Ошибка: требуется объект WScript&quot;<br />Находим тему: <a href="http://forum.script-coding.com/viewtopic.php?id=5640">&quot;HTA: не найден объект Wscript&quot;</a><br /></p><div class="quotebox"><cite>Xameleon пишет:</cite><blockquote><p>WScript доступен ТОЛЬКО в WSH.</p></blockquote></div><p>Однако тут <a href="http://www.sysengineering.ru/Administration/HyperTextApplications.aspx#oscooperation02">&quot;Администрирование - HTML-приложения&quot;</a> выяснилось что не всё так плохо - меняем WScript.CreateObject на CreateObject и скрипт начинает работать из HTA.<br /></p><div class="quotebox"><blockquote><p>В HTA нельзя напрямую использовать методы и свойства базового класса WScript. Методы CreateObject(&lt;Library&gt;.&lt;Class&gt;), GetObject(&lt;FilePath&gt;), ConnectObject(&lt;Object&gt;, &lt;Prefix&gt;), DisconnectObject(&lt;Object&gt;) вызываются без указания родительского класса, а все остальные методы базового класса не доступны для использования.</p></blockquote></div><p>P.S. Наверно стоило бы в статье на сайте по HTA добавить информацию по использованию Wscript ...<br />P.P.S. никогда не задумывался, зачем WScript перед CreateObject, копипаста рулила. Надо будет на досуге с этим разобраться <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (BeS Yara)]]></author>
			<pubDate>Mon, 16 May 2011 10:19:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48408#p48408</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48406#p48406</link>
			<description><![CDATA[<p>Спасибо, ваш скрипт работает на ура, но как только я его вставляю в HTML или HTA то снова появляется этот лишний абзац, вот ломаю голову почему это может происходить. Ниже пример моего HTA документа (извиняюсь что без тега Code - иначе все путается)</p><div class="codebox"><pre><code>&lt;html&gt;

&lt;title&gt; Signature&lt;/title&gt;

&lt;head&gt; 

&lt;script language=&quot;vbscript&quot;&gt;
&#039;Процедура формирует подпись и устанавливает ее по умолчанию в Office 2003,2007

Sub Runmod
&#039;Выбор языка, русский или английский
On Error Resume Next
If RadioButton(0).Checked Then 
strRegard = &quot;С уважением, &quot;
strPhoneT = &quot;Тел.: &quot;
strFaxT = &quot;Факс: &quot;
strQua = &quot;Если у Вас есть претензии к качеству наших услуг, обращайтесь: &quot;
strGreen = &quot;Задумайтесь об окружающей среде, прежде чем распечатать это сообщение на бумаге.&quot;
End If 
If RadioButton(1).Checked Then 
strRegard = &quot;Best regards, &quot;
strPhoneT = &quot;Tel.: &quot;
strFaxT = &quot;Fax: &quot;
strQua = &quot;If you are not entirely satisfied with our service please contact: &quot;
strGreen = &quot;Please Consider the Environment before printing this Email.&quot; 
End If 

strName = name_1.value
strTitle = Title_1.value
strDepartment = Branch.value
strPhone = tel.value
strFax = fax.value
strEmail = &quot;quality@mail.com&quot;
strWeb = &quot;www.mail.com&quot;
strLogo = &quot;\\domain\NETLOGON\greenpeace.gif&quot;
Dim Signature: Signature = &quot;Podpis02&quot; 

Set objWord = CreateObject(&quot;Word.Application&quot;)
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries
 
objSelection.Font.Name = &quot;Georgia&quot;
objSelection.Font.Size = &quot;10&quot;
objSelection.Font.Color = RGB (0, 0, 0)
objSelection.Paragraphs.Space1
 
Set objSelectionLine = objWord.Selection.InlineShapes.AddHorizontalLineStandard
With objSelectionLine
    .Width = 200
    .HorizontalLineFormat.Alignment = 0
End With
 
objSelection.TypeText strRegard
 
objSelection.TypeText strName
objSelection.TypeText CHR(11)
 
objSelection.Font.Italic = True
objSelection.TypeText strTitle
objSelection.TypeText CHR(11)
 
objSelection.Font.Italic = False
objSelection.Font.Bold = True
objSelection.TypeText strDepartment
objSelection.TypeText CHR(11)
 
objSelection.Font.Bold = False
objSelection.TypeText strPhoneT &amp; strPhone
objSelection.TypeText CHR(11)
 
objSelection.TypeText strFaxT &amp; strFax
objSelection.TypeText CHR(11)
 
objselection.font.color = RGB(0, 0, 255)
 
Set hyp = objSelection.Hyperlinks.Add(objSelection.Range, strWeb, &quot;&quot;, &quot;&quot;, strWeb)
hyp.Range.Font.Bold = True
hyp.Range.Font.Size = &quot;10&quot;
hyp.Range.Font.Name = &quot;Georgia&quot;
objSelection.TypeText CHR(11)
 
objSelection.Font.Name = &quot;Times New Roman&quot;
 
objSelection.Font.Size = &quot;8&quot;
 
objSelection.Font.Color = RGB (0, 0, 0)
objSelection.Font.Bold = True
objSelection.TypeText strQua
Set hyp = objSelection.Hyperlinks.Add (objSelection.range, &quot;mailto:&quot; &amp; strEmail, , , strEmail)
hyp.Range.Font.Bold = True
hyp.Range.Font.Color = RGB (0,0,139)
hyp.Range.Font.Size = &quot;8&quot;
hyp.Range.Font.Name = &quot;Times New Roman&quot;
objSelection.TypeText CHR(11)
 
objSelection.InlineShapes.AddPicture(strLogo)

objSelection.Font.Color = RGB (34, 139, 34)
objSelection.Font.Bold = False
objSelection.TypeText strGreen
 
Set objSelection = objDoc.Range()
 
objSignatureEntries.Add Signature, objSelection
objSignatureObject.NewMessageSignature = Signature
objSignatureObject.ReplyMessageSignature = Signature
 
objDoc.Saved = True
objDoc.Close
objWord.Quit
 
MsgBox &quot;Подпись сформирована&quot;,0,&quot;Подпись&quot;
 
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const f_ASCII = 0, f_Unicode = -1, f_Default = -2
&#039;===============================================================================
Dim SignFile
SignFile = WScript.CreateObject(&quot;WScript.Shell&quot;).ExpandEnvironmentStrings(&quot;%APPDATA%&quot;) &amp; &quot;\Microsoft\Signatures\&quot; &amp; Signature &amp; &quot;.htm&quot; &#039; подпись
Dim fso, f, ts
Set fso = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set f = fso.GetFile(SignFile)
Set ts = f.OpenAsTextStream(ForReading, f_ASCII)
 
&#039; Считываем всю подпись
Dim stroka : stroka = ts.ReadAll
 
&#039; Начинаем работать с регулярными выражениями:
Dim regEx, Match, Matches   &#039; Create variable.
Set regEx = New RegExp   &#039; Create a regular expression.
regEx.IgnoreCase = True   &#039; Set case insensitivity.
regEx.Global = True   &#039; Set global applicability.

regEx.Pattern = &quot;(?:&lt;div[\S\s]{0,}?)(&lt;hr[\S\s]{0,}?)(?:&lt;/div&gt;[\S\s]{0,}?)(?:&lt;p[\S\s]{0,}?&gt;)([\S\s]{0,}?)(?:&lt;/p&gt;)&quot; &#039; шаблон поиска:
&#039;(разделитель)(открывающий тэг параграфа)(текст параграфа)(закрывающий тэг параграфа)
Set Matches = regEx.Execute(stroka)
  For Each Match in Matches
   &#039;wscript.echo &quot;HR =&gt; &quot; &amp; Match.SubMatches(0)
   &#039;wscript.echo &quot;Телефоны =&gt; &quot; &amp; Match.SubMatches(1)
   stroka = replace(stroka, Match.Value, Match.SubMatches(0) &amp; Match.SubMatches(1), 1, -1, vbTextCompare)
  Next
ts.Close
 
Set ts = fso.CreateTextFile(SignFile, True, False)
ts.Write(stroka)
ts.Close

End Sub

&lt;/script&gt;

&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;Русский &lt;input type=&quot;radio&quot; name=&quot;RadioButton&quot; checked&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;English &lt;input type=&quot;radio&quot; name=&quot;RadioButton&quot;&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-right:100px;&quot;&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;Имя пользователя &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;input type=&quot;text&quot; name=&quot;name_1&quot; size=&quot;30&quot;&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;Должность &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;input type=&quot;text&quot; name=&quot;title_1&quot; size=&quot;30&quot;&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;Отделение &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;input type=&quot;text&quot; name=&quot;branch&quot; size=&quot;30&quot;&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;Телефон &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;input type=&quot;text&quot; name=&quot;tel&quot; value=&quot;+7 ()&quot; size=&quot;30&quot;&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;Факс &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;input type=&quot;text&quot; name=&quot;fax&quot; value=&quot;+7 ()&quot; size=&quot;30&quot;&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;&lt;input type=&quot;button&quot; name=&quot;button1&quot; value=&quot;Сформировать&quot; onClick=&quot;Runmod()&quot; style=&quot;font-family:Arial; font-size:12;&quot;&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (wooch)]]></author>
			<pubDate>Mon, 16 May 2011 08:44:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48406#p48406</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48347#p48347</link>
			<description><![CDATA[<div class="quotebox"><cite>wooch пишет:</cite><blockquote><p>Первые байты 3C 68</p></blockquote></div><p>Т.е. &quot;&lt;h&quot;, надо полагать это кусок от &quot;&lt;html&gt;&quot; - другими словами, ни под один из BOM-ов указанных на вики не подходит. Значит кодировка - ASCII.<br /></p><div class="quotebox"><cite>wooch пишет:</cite><blockquote><p>Вот нашел упрощенный вариант:</p></blockquote></div><p>Хорошо, открывающий тэг убрали(кстати, зачем убирать div?), а закрывающий?<br />Собрал два в одном, добавил запись в файл(только вставку лого закоментировал):<br /></p><div class="codebox"><pre><code>
On Error Resume Next

strRegard = &quot;Best _regards, &quot;
strPhoneT = &quot;Tel.: &quot;
strFaxT = &quot;Fax: &quot;
strQua = &quot;If you are not entirely satisfied with our service please contact: &quot;
strGreen = &quot;Please Consider the Environment before printing this Email.&quot;
Dim Signature: Signature = &quot;Podpis02&quot;

strName = name_1.value
strTitle = Title_1.value
strDepartment = Branch.value
strPhone = tel.value
strFax = fax.value
strEmail = &quot;quality@mail.com&quot;
strWeb = &quot;www.mail.com&quot;
strLogo = &quot;\\mail.com\greenpeace.gif&quot;

Set objWord = CreateObject(&quot;Word.Application&quot;)
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries

objSelection.Font.Name = &quot;Georgia&quot;
objSelection.Font.Size = &quot;10&quot;
objSelection.Font.Color = RGB (0, 0, 0)
objSelection.Paragraphs.Space1

Set objSelectionLine = objWord.Selection.InlineShapes.AddHorizontalLineStandard
With objSelectionLine
    .Width = 200
    .HorizontalLineFormat.Alignment = 0
End With

objSelection.TypeText strRegard

objSelection.TypeText strName
objSelection.TypeText CHR(11)

objSelection.Font.Italic = True
objSelection.TypeText strTitle
objSelection.TypeText CHR(11)

objSelection.Font.Italic = False
objSelection.Font.Bold = True
objSelection.TypeText strDepartment
objSelection.TypeText CHR(11)

objSelection.Font.Bold = False
objSelection.TypeText strPhoneT &amp; strPhone
objSelection.TypeText CHR(11)

objSelection.TypeText strFaxT &amp; strFax
objSelection.TypeText CHR(11)

objselection.font.color = RGB(0, 0, 255)

Set hyp = objSelection.Hyperlinks.Add(objSelection.Range, strWeb, &quot;&quot;, &quot;&quot;, strWeb)
hyp.Range.Font.Bold = True
hyp.Range.Font.Size = &quot;10&quot;
hyp.Range.Font.Name = &quot;Georgia&quot;
objSelection.TypeText CHR(11)

objSelection.Font.Name = &quot;Times New Roman&quot;

objSelection.Font.Size = &quot;8&quot;

objSelection.Font.Color = RGB (0, 0, 0)
objSelection.Font.Bold = True
objSelection.TypeText strQua
Set hyp = objSelection.Hyperlinks.Add (objSelection.range, &quot;mailto:&quot; &amp; strEmail, , , strEmail)
hyp.Range.Font.Bold = True
hyp.Range.Font.Color = RGB (0,0,139)
hyp.Range.Font.Size = &quot;8&quot;
hyp.Range.Font.Name = &quot;Times New Roman&quot;
objSelection.TypeText CHR(11)

&#039;objSelection.InlineShapes.AddPicture(strLogo)

objSelection.Font.Color = RGB (34, 139, 34)
objSelection.Font.Bold = False
objSelection.TypeText strGreen

Set objSelection = objDoc.Range()

objSignatureEntries.Add Signature, objSelection
objSignatureObject.NewMessageSignature = Signature
objSignatureObject.ReplyMessageSignature = Signature

objDoc.Saved = True
objDoc.Close
objWord.Quit

MsgBox &quot;Подпись сформирована&quot;,0,&quot;Подпись&quot;

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const f_ASCII = 0, f_Unicode = -1, f_Default = -2
&#039;===============================================================================
Dim SignFile
SignFile = WScript.CreateObject(&quot;WScript.Shell&quot;).ExpandEnvironmentStrings(&quot;%APPDATA%&quot;) &amp; &quot;\Microsoft\Signatures\&quot; &amp; Signature &amp; &quot;.htm&quot; &#039; подпись
Dim fso, f, ts
Set fso = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set f = fso.GetFile(SignFile)
Set ts = f.OpenAsTextStream(ForReading, f_ASCII)

&#039; Считываем всю подпись
Dim stroka : stroka = ts.ReadAll

&#039; Начинаем работать с регулярными выражениями:
Dim regEx, Match, Matches   &#039; Create variable.
Set regEx = New RegExp   &#039; Create a regular expression.
regEx.IgnoreCase = True   &#039; Set case insensitivity.
regEx.Global = True   &#039; Set global applicability.

regEx.Pattern = &quot;(?:&lt;div[\S\s]{0,}?)(&lt;hr[\S\s]{0,}?)(?:&lt;/div&gt;[\S\s]{0,}?)(?:&lt;p[\S\s]{0,}?&gt;)([\S\s]{0,}?)(?:&lt;/p&gt;)&quot; &#039; шаблон поиска:
&#039;(разделитель)(открывающий тэг параграфа)(текст параграфа)(закрывающий тэг параграфа)
Set Matches = regEx.Execute(stroka)
  For Each Match in Matches
   &#039;wscript.echo &quot;HR =&gt; &quot; &amp; Match.SubMatches(0)
   &#039;wscript.echo &quot;Телефоны =&gt; &quot; &amp; Match.SubMatches(1)
   stroka = replace(stroka, Match.Value, Match.SubMatches(0) &amp; Match.SubMatches(1), 1, -1, vbTextCompare)
  Next
ts.Close

Set ts = fso.CreateTextFile(SignFile, True, False)
ts.Write(stroka)
ts.Close</code></pre></div><p>Подпись создаётся(даже если уже была), тэги трутся.</p><p>Теперь проблема в другом - не могу добиться чтобы даже на неочищенной от параграфов подписи был увеличенный интервал между разделителем и следующей строкой <img src="//forum.script-coding.com/img/smilies/hmm.png" width="15" height="15" /><br />Даже хуже - чищенная и нечищенная подписи одинаково корректно отображаются и в браузерах(IE8, Opera11, FF3.6). Ранее созданные(гарантировано глчювшие) подписи попробовал - тоже всё отлично... Возможно из-за даты <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (BeS Yara)]]></author>
			<pubDate>Fri, 13 May 2011 09:34:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48347#p48347</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48345#p48345</link>
			<description><![CDATA[<div class="quotebox"><cite>BeS Yara пишет:</cite><blockquote><p>Поэкспериментировал...<br />С файлом в UTF-8 нормально всё работает в режиме ASCII, а <strong>f_Unicode</strong> относится не к UTF-8, а именно к Unicode(что не одно и тоже).</p><p>Что характерно для созданных аутлуком подписей:<br />HTML-подпись в кодировке UTF-8(EE BB BF)<br />TXT-подпись в кодировке UTF-16LE(FF FE)<br />RTF-подпись в заголовке упоимнается кодировка win-1251, но при этом сам текст похоже в одном из UTF-ов, но&nbsp; в начале отображаемого текста(F3 в TotalCommander, Word) выводятся BOM-символы от UTF-8 <img src="//forum.script-coding.com/img/smilies/hmm.png" width="15" height="15" /></p><p><strong>wooch</strong>, можете привести коды первых 4 байтов в файле подписи(чтобы определиться с кодировкой подписи)? Пока не могу понять что именно может не работать <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p></blockquote></div><p>Первые байты 3C 68</p>]]></description>
			<author><![CDATA[null@example.com (wooch)]]></author>
			<pubDate>Fri, 13 May 2011 08:39:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48345#p48345</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48344#p48344</link>
			<description><![CDATA[<p>Вот нашел упрощенный вариант:<br /></p><div class="codebox"><pre><code>
Const ForReading = 1
Const ForWriting = 2

strFileName = WScript.CreateObject(&quot;WScript.Shell&quot;).ExpandEnvironmentStrings(&quot;%APPDATA%&quot;) &amp; &quot;\Microsoft\Signatures\Signature.htm&quot;
strOldText = &quot;&lt;div class=MsoNormal&gt;&quot;
strNewText = &quot; &quot;

Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)

strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strOldText, strNewText)

Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.WriteLine strNewText
objFile.Close</code></pre></div><p>Но почему то скрипт обрабатывается только если я его запускаю отдельно, если вставить в код после формирования подписи то он ее не редактирует.:(</p>]]></description>
			<author><![CDATA[null@example.com (wooch)]]></author>
			<pubDate>Fri, 13 May 2011 08:26:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48344#p48344</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48325#p48325</link>
			<description><![CDATA[<p>Поэкспериментировал...<br />С файлом в UTF-8 нормально всё работает в режиме ASCII, а <strong>f_Unicode</strong> относится не к UTF-8, а именно к Unicode(что не одно и тоже).</p><p>Что характерно для созданных аутлуком подписей:<br />HTML-подпись в кодировке UTF-8(EE BB BF)<br />TXT-подпись в кодировке UTF-16LE(FF FE)<br />RTF-подпись в заголовке упоимнается кодировка win-1251, но при этом сам текст похоже в одном из UTF-ов, но&nbsp; в начале отображаемого текста(F3 в TotalCommander, Word) выводятся BOM-символы от UTF-8 <img src="//forum.script-coding.com/img/smilies/hmm.png" width="15" height="15" /></p><p><strong>wooch</strong>, можете привести коды первых 4 байтов в файле подписи(чтобы определиться с кодировкой подписи)? Пока не могу понять что именно может не работать <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (BeS Yara)]]></author>
			<pubDate>Thu, 12 May 2011 07:58:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48325#p48325</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48321#p48321</link>
			<description><![CDATA[<p><strong>wooch</strong>, что именно и как не работает?<br />Файл подписи в ASCII или в UTF-8? Приведённый мной скрипт читает файл как ASCII - в юникоде он конечно ничего не найдёт.<br />Можете привести код и описание проблемы?</p>]]></description>
			<author><![CDATA[null@example.com (BeS Yara)]]></author>
			<pubDate>Thu, 12 May 2011 06:41:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48321#p48321</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48315#p48315</link>
			<description><![CDATA[<p>ХЗ, но почему то не работает,&nbsp; буду разбираться в чем проблема</p>]]></description>
			<author><![CDATA[null@example.com (wooch)]]></author>
			<pubDate>Wed, 11 May 2011 13:56:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48315#p48315</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48311#p48311</link>
			<description><![CDATA[<p>DIV-ы я не убирал - только &lt;p&gt; и &lt;/p&gt;. <br />Шаблон составлен из четырёх подшаблонов, второй(&lt;p&gt;) и четвёртый(&lt;/p&gt;) не нужен, поэтому не запоминается(&quot;<strong>?:</strong>&quot;)<br />Имелся кусок сделанной скриптом подписи(соответствующие куски заключил в скобки):<br /></p><div class="codebox"><pre><code>
(
&lt;hr size=2 width=267 style=&#039;width:200.0pt&#039; align=left&gt;

&lt;/div&gt;
)
(
&lt;p class=MsoNormal&gt;
)
(
&lt;span style=&#039;font-family:Wingdings&#039;&gt;(&lt;/span&gt; 8(800)777-6655&lt;br&gt;
&lt;span style=&#039;font-family:Wingdings&#039;&gt;)&lt;/span&gt; 8(916)123-4567&lt;br
style=&#039;mso-special-character:line-break&#039;&gt;
&lt;![if !supportLineBreakNewLine]&gt;&lt;br style=&#039;mso-special-character:line-break&#039;&gt;
&lt;![endif]&gt;
)
(
&lt;/p&gt;
)</code></pre></div><p>replace(stroka, Match.Value, Match.SubMatches(0) &amp; Match.SubMatches(1), 1, -1, vbTextCompare) - просто заменяет в исходном тексте подписи тот кусок что приведён выше на склеенный из подшаблонов(без &lt;p&gt; и &lt;/p&gt;). Т.о. убирается только один параграф за разделителем.</p><p>Для избавления от DIV(в приведённом Вами примере) нужно поменять шаблон:<br /></p><div class="codebox"><pre><code>regEx.Pattern = &quot;(?:&lt;div[\S\s]{0,}?)(&lt;[\S\s]{0,}?)(?:&lt;/div&gt;)&quot;</code></pre></div><p>И реплейс:<br /></p><div class="codebox"><pre><code>stroka = replace(stroka, Match.Value, Match.SubMatches(0), 1, -1, vbTextCompare)</code></pre></div><p>Если нужно убирать и &lt;p&gt; и &lt;div&gt;, то шаблон будет выглядеть примерно так:<br /></p><div class="codebox"><pre><code>regEx.Pattern = &quot;(?:&lt;div[\S\s]{0,}?)(&lt;hr[\S\s]{0,}?)(?:&lt;/div&gt;[\S\s]{0,}?)(?:&lt;p[\S\s]{0,}?&gt;)([\S\s]{0,}?)(?:&lt;/p&gt;)&quot;</code></pre></div><p>Реплейс оставить как в первоначальном варианте:<br /></p><div class="codebox"><pre><code>stroka = replace(stroka, Match.Value, Match.SubMatches(0) &amp; Match.SubMatches(1), 1, -1, vbTextCompare)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (BeS Yara)]]></author>
			<pubDate>Wed, 11 May 2011 11:03:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48311#p48311</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48310#p48310</link>
			<description><![CDATA[<div class="quotebox"><cite>BeS Yara пишет:</cite><blockquote><div class="quotebox"><cite>wooch пишет:</cite><blockquote><div class="quotebox"><cite>BeS Yara пишет:</cite><blockquote><p>Проблема у меня наблюдается только для письма в формате HTML(в RTF такого нет, хотя там сама полоса толстая), всё что могу предложить - находить в файле с html-версией подписи этот параграф и удалять лишние тэги.</p></blockquote></div><p>А можете подсказать как удалить лишние теги в ужее созданном документе?</p></blockquote></div><p>Если подписи однотипные, то я бы попробовал через регулярные выражения. Примерно так(в 6-ой строке название файла подписи на своё нужно поменять):<br /></p><div class="codebox"><pre><code>
Option Explicit
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const f_ASCII = 0, f_Unicode = -1, f_Default = -2
&#039;===============================================================================
Dim SignFile
SignFile = WScript.CreateObject(&quot;WScript.Shell&quot;).ExpandEnvironmentStrings(&quot;%APPDATA%&quot;) &amp; &quot;\Microsoft\Signatures\AD4 Signature.htm&quot; &#039; подпись
Dim fso, f, ts
Set fso = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set f = fso.GetFile(SignFile)
Set ts = f.OpenAsTextStream(ForReading, f_ASCII) &#039; если файл в UTF-8, то f_Unicode

&#039; Считываем всю подпись
Dim stroka : stroka = ts.ReadAll

&#039; Начинаем работать с регулярными выражениями:
Dim regEx, Match, Matches   &#039; Create variable.
Set regEx = New RegExp   &#039; Create a regular expression.
regEx.IgnoreCase = True   &#039; Set case insensitivity.
regEx.Global = True   &#039; Set global applicability.

regEx.Pattern = &quot;(&lt;hr[\S\s]{0,}?)(?:&lt;p[\S\s]{0,}?&gt;)([\S\s]{0,}?)(?:&lt;/p&gt;)&quot; &#039; шаблон поиска:
&#039;(разделитель)(открывающий тэг параграфа)(текст параграфа)(закрывающий тэг параграфа)
Set Matches = regEx.Execute(stroka)
  For Each Match in Matches
   &#039;wscript.echo &quot;HR =&gt; &quot; &amp; Match.SubMatches(0)
   &#039;wscript.echo &quot;Телефоны =&gt; &quot; &amp; Match.SubMatches(1)
   stroka = replace(stroka, Match.Value, Match.SubMatches(0) &amp; Match.SubMatches(1), 1, -1, vbTextCompare)
  Next
ts.Close</code></pre></div></blockquote></div><p>Я конечно дико извиняюсь за свою тупость, но я не могу разобраться в шаблоне поиска. Подскажи как это сделать?<br />У меня создается вот такой код:<br /></p><div class="codebox"><pre><code>
&lt;div class=MsoNormal&gt;

&lt;hr size=2 width=267 style=&#039;width:200.0pt&#039; align=left&gt;

&lt;/div&gt;</code></pre></div><p>А нужно чтобы было:</p><div class="codebox"><pre><code>


&lt;hr size=2 width=267 style=&#039;width:200.0pt&#039; align=left&gt;</code></pre></div><p>Когда ручками убираю - все получается.</p>]]></description>
			<author><![CDATA[null@example.com (wooch)]]></author>
			<pubDate>Wed, 11 May 2011 09:44:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48310#p48310</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Вставка линии в документ Word]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48295#p48295</link>
			<description><![CDATA[<div class="quotebox"><cite>wooch пишет:</cite><blockquote><div class="quotebox"><cite>BeS Yara пишет:</cite><blockquote><p>Проблема у меня наблюдается только для письма в формате HTML(в RTF такого нет, хотя там сама полоса толстая), всё что могу предложить - находить в файле с html-версией подписи этот параграф и удалять лишние тэги.</p></blockquote></div><p>А можете подсказать как удалить лишние теги в ужее созданном документе?</p></blockquote></div><p>Если подписи однотипные, то я бы попробовал через регулярные выражения. Примерно так(в 6-ой строке название файла подписи на своё нужно поменять):<br /></p><div class="codebox"><pre><code>
Option Explicit
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const f_ASCII = 0, f_Unicode = -1, f_Default = -2
&#039;===============================================================================
Dim SignFile
SignFile = WScript.CreateObject(&quot;WScript.Shell&quot;).ExpandEnvironmentStrings(&quot;%APPDATA%&quot;) &amp; &quot;\Microsoft\Signatures\AD4 Signature.htm&quot; &#039; подпись
Dim fso, f, ts
Set fso = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set f = fso.GetFile(SignFile)
Set ts = f.OpenAsTextStream(ForReading, f_ASCII) &#039; если файл в UTF-8, то f_Unicode

&#039; Считываем всю подпись
Dim stroka : stroka = ts.ReadAll

&#039; Начинаем работать с регулярными выражениями:
Dim regEx, Match, Matches   &#039; Create variable.
Set regEx = New RegExp   &#039; Create a regular expression.
regEx.IgnoreCase = True   &#039; Set case insensitivity.
regEx.Global = True   &#039; Set global applicability.

regEx.Pattern = &quot;(&lt;hr[\S\s]{0,}?)(?:&lt;p[\S\s]{0,}?&gt;)([\S\s]{0,}?)(?:&lt;/p&gt;)&quot; &#039; шаблон поиска:
&#039;(разделитель)(открывающий тэг параграфа)(текст параграфа)(закрывающий тэг параграфа)
Set Matches = regEx.Execute(stroka)
  For Each Match in Matches
   &#039;wscript.echo &quot;HR =&gt; &quot; &amp; Match.SubMatches(0)
   &#039;wscript.echo &quot;Телефоны =&gt; &quot; &amp; Match.SubMatches(1)
   stroka = replace(stroka, Match.Value, Match.SubMatches(0) &amp; Match.SubMatches(1), 1, -1, vbTextCompare)
  Next
ts.Close</code></pre></div><p>Это конечно вариант черновой(набрал из заготовок и примеров в хелпе), но с подписью которую создал мой аутлук работает <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Содержимое переменной <strong>stroka</strong> после цикла - оригинальный файл подписи в котором убраны тэги в первом параграфе после разделителя(естественно для той разметки, которую генерирует мой аутлук). Если формат разметки на разных версиях аутлук незначительно отличается, то можно попробовать сделать универсальный шаблон. Или заготовить по шаблону на разные версии аутлука.</p><p>P.S. Что характерно - ранее упоминал что файл подписи у меня в UTF-8, теперь выяснилось что подписи созданные скриптом(objSignatureEntries.Add) создались в ASCII <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />____________________________________<br />... немного подправил шаблон</p>]]></description>
			<author><![CDATA[null@example.com (BeS Yara)]]></author>
			<pubDate>Tue, 10 May 2011 15:19:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48295#p48295</guid>
		</item>
	</channel>
</rss>
