<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS. Замена текста в файлах .doc без "Word.Application"]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8895&amp;type=atom" />
	<updated>2013-11-19T08:34:45Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8895</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS. Замена текста в файлах .doc без "Word.Application"]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77414#p77414" />
			<content type="html"><![CDATA[<p>В общем смастерил я костыль и пока этим живу: Наваял скрипт на рекурсивный обход с запуском всех необходимых мне доков и написал макрос для события Открытие. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Lucky]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25698</uri>
			</author>
			<updated>2013-11-19T08:34:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77414#p77414</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS. Замена текста в файлах .doc без "Word.Application"]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77284#p77284" />
			<content type="html"><![CDATA[<p>Простите, времени всегда мало, наконец-то могу писать. Просмотрел приведенные ссылки и примеры, и понял что, через ООо всё не сладко.. Тем более, что речь идёт не о простом открытии доков на экран и добавление надписей, а чтении данных (не только текстовых, но и картинок, и прочего) в переменную и подмена некоторого текста (дату, фамилию) и пересохранение не в оконном режиме. Теперь смотрю в сторону скачивания и portable-использования библиотеки, для создания &quot;Word.Application&quot;, коли не получается через ООо.</p>]]></content>
			<author>
				<name><![CDATA[Lucky]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25698</uri>
			</author>
			<updated>2013-11-14T06:41:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77284#p77284</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS. Замена текста в файлах .doc без "Word.Application"]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77195#p77195" />
			<content type="html"><![CDATA[<p>Можно попробовать взаимодействовать с .doc файлом с помощью ADODB.Stream, либо с более &quot;удобными&quot; сторонними компонентами, если они доступны. Этот формат (Windows Compound Binary File Format) затронут, например,&nbsp; тут <a href="http://www.tdoc.ru/c/programming/visual-cpp/msword-fileformat.html">http://www.tdoc.ru/c/programming/visual … ormat.html</a>, <a href="http://www.klerk.ru/soft/articles/2429/">http://www.klerk.ru/soft/articles/2429/</a>, <a href="http://habrahabr.ru/post/72745/">http://habrahabr.ru/post/72745/</a> (в посте весьма актуальные ссылки). Правда речь идет только о чтении текста. Есть опасения, что возможность записи появится не ранее реализации достаточно трудоемкого проекта для среды WSH.</p>]]></content>
			<author>
				<name><![CDATA[omegastripes]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29228</uri>
			</author>
			<updated>2013-11-12T18:14:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77195#p77195</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS. Замена текста в файлах .doc без "Word.Application"]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77180#p77180" />
			<content type="html"><![CDATA[<p>Доброго времени суток.</p><p>Сходу пара ссылок: <a href="http://forum.script-coding.com/viewtopic.php?id=1266"> VBScript: работаем с OpenOffice.org через COM</a>, <a href="https://wiki.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Bridge/Automation_Bridge">OpenOffice.org software supports Microsoft&#039;s Automation technology. Automation Bridge</a>.</p><p>Правда дальше чем открыть файл у меня не вышло:<br /></p><div class="codebox"><pre><code>
option explicit
Dim objServiceManager, objCoreReflection, objDesktop
Set objServiceManager= WScript.CreateObject(&quot;com.sun.star.ServiceManager&quot;)
Set objCoreReflection= objServiceManager.createInstance(&quot;com.sun.star.reflection.CoreReflection&quot;)

Set objDesktop= objServiceManager.createInstance(&quot;com.sun.star.frame.Desktop&quot;)
Dim objDocument, objText
&#039; http://www.openoffice.org/api/docs/common/ref/com/sun/star/frame/XComponentLoader.html
Set objDocument = objDesktop.loadComponentFromURL(ConvertToURL(&quot;D:\aScripts\vbs\tmp\OOoTest.doc&quot;), &quot;_blank&quot;, 0, Array())

Function ConvertToURL(ByVal path) &#039;костыль №1
    ConvertToURL = Replace(path, &quot;:&quot;, &quot;|&quot;)
    ConvertToURL = Replace(ConvertToURL, &quot; &quot;, &quot;%20&quot;)
    ConvertToURL = Replace(ConvertToURL, &quot;\&quot;, &quot;/&quot;)
    ConvertToURL = &quot;file:///&quot; &amp; ConvertToURL
End Function</code></pre></div><p>Есть <a href="http://www.openoffice.org/api/basic/man/tutorial/tutorial.pdf">инструкция по StarBasic</a>(аналог VBA в OOo), на стр. 55 есть раздел &quot;Searching and replacing&quot;. Но подружить то что там описано с выше приведённым скриптом не получилось, натыкаюсь на &quot;Объект не поддерживает это свойство или метод&quot;. Правда у меня установлен 4-ый офис, а мануал времён версии 3.4, но думаю не в этом дело - уж больно всё там заковыристо с автоматизацией...</p><p>Если желание копать дальше имеется, попробуйте пошерстить форумы 1С-ников, похоже у них чаше возникает необходимость работы с ООо через OLE.</p><p>___________добавлено___________<br />Мануал вообще времён StarOffice, так что проблема может быть и в этом. Но искать актуальную версию документации в данный момент времени нет. Может потом.</p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2013-11-12T13:10:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77180#p77180</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS. Замена текста в файлах .doc без "Word.Application"]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77174#p77174" />
			<content type="html"><![CDATA[<p>Добрый денёк! Тут конечно всё прекрасно: <a href="http://forum.script-coding.com/viewtopic.php?id=1662">VBScript: замена текста в документе Word</a>. Но как быть если не установлен <em>MS Office</em> и не имеется такой возможности... Имею возможность скачать и использовать только <em>portable</em> приложения и объекты, либо если это возможно осуществить с помощью объектов <em>OpenOffice</em>, то он установлен. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Какие есть варианты?</p>]]></content>
			<author>
				<name><![CDATA[Lucky]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25698</uri>
			</author>
			<updated>2013-11-12T06:08:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77174#p77174</id>
		</entry>
</feed>
