<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: вызвать Excel и загрузить текстовый файл с разделителями.]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7173</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7173&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: вызвать Excel и загрузить текстовый файл с разделителями.».]]></description>
		<lastBuildDate>Thu, 03 May 2012 06:05:23 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: вызвать Excel и загрузить текстовый файл с разделителями.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59945#p59945</link>
			<description><![CDATA[<p><strong>DedBanzai</strong>, не доглядел последний про «Полный текст оператора в VBA». Пробуйте так:<br /></p><div class="codebox"><pre><code>Option Explicit

Const xlDelimited   = 1
Const xlDoubleQuote = 1

Dim objExcel
Dim objWorkbook


Set objExcel = WScript.CreateObject(&quot;Excel.Application&quot;)

&#039; Для отладки делаем видимым окно
objExcel.Visible = True
objExcel.UserControl = True

&#039;.OpenText(FileName, Origin, StartRow, DataType, TextQualifier, 
&#039;    ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo,
&#039;    TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local)

Set objWorkbook = objExcel.Workbooks.Open( _
    &quot;C:\5NT\WordRep\f118-2332.txt&quot;, 1251, 1, _
    False, False, True, False, False, False, Empty, _
    Array( _
        Array(1, 1), Array(2, 2), Array(3, 2), Array(4, 2), _
        Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
        Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), _
        Array(13, 1), Array(14, 1), Array(15, 1), Array(16, 1), _
        Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1) _
    ), _
    Empty, Empty, Empty, Empty, True, True _
    )

&#039;…

WScript.Quit 0</code></pre></div><p>Но гарантии не даю: нужен пример реального текстового файла для отладки.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 03 May 2012 06:05:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59945#p59945</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: вызвать Excel и загрузить текстовый файл с разделителями.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59944#p59944</link>
			<description><![CDATA[<p>Спасибо, alexii. Но нужно открыть текстовый файл с разделителями, поэтому нужны все параметры из VBA команды:<br /></p><div class="codebox"><pre><code>  Workbooks.OpenText Filename:=&quot;C:\5NT\WordRep\f118-2332.txt&quot;, Origin:=1251, _
                                           StartRow:=1, DataType:=xlDelimited...</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (DedBanzai)]]></author>
			<pubDate>Thu, 03 May 2012 05:47:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59944#p59944</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: вызвать Excel и загрузить текстовый файл с разделителями.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59916#p59916</link>
			<description><![CDATA[<p>Никаких «As String» и т.п. В VBScript все скалярные переменные имеют тип Variant (подтип — VarType()/TypeName() — другое дело).<br /></p><div class="codebox"><pre><code>Option Explicit

Dim objExcel
Dim objWorkbook

Set objExcel = WScript.CreateObject(&quot;Excel.Application&quot;)

&#039; Для отладки делаем видимым окно
objExcel.Visible = True
objExcel.UserControl = True

Set objWorkbook = objExcel.Workbooks.Open(&quot;C:\Documents and Settings\User\Мои документы\Книга1.xls&quot;)
…</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 02 May 2012 11:40:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59916#p59916</guid>
		</item>
		<item>
			<title><![CDATA[VBS: вызвать Excel и загрузить текстовый файл с разделителями.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59913#p59913</link>
			<description><![CDATA[<p>Прочитал совет, что в VBS нужно предварительно создать все константы VBA и затем методом .Open (.OpenText в моем случае) открыть файл без использования конструкций типа:<br />&lt;Параметр&gt; := &lt;Значение&gt; . Все здорово, начал конструировать метод .OpenText в VBA, но уже 2-ой параметр дает ошибку:<br /></p><div class="codebox"><pre><code> Dim fln As String
 
 fln = &quot;C:\5NT\WordRep\f118-2332.txt&quot;

 Workbooks.OpenText(fln,1251)</code></pre></div><p>Текст ошибки:<br /></p><div class="codebox"><pre><code>Compile error:
Expected: =</code></pre></div><p>Полный текст оператора в VBA:<br /></p><div class="codebox"><pre><code> Workbooks.OpenText Filename:=&quot;C:\5NT\WordRep\f118-2332.txt&quot;, Origin:=1251, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False _
        , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 2), _
        Array(3, 2), Array(4, 2), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), _
        Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15, 1), Array( _
        16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1)), TrailingMinusNumbers _
        :=True</code></pre></div><p><strong>Можно эту проблему как-то обойти или перепрыгнуть? Использовать VBA нельзя - у юзеров в офисе макросы запрещены.<br /></strong></p>]]></description>
			<author><![CDATA[null@example.com (DedBanzai)]]></author>
			<pubDate>Wed, 02 May 2012 11:05:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59913#p59913</guid>
		</item>
	</channel>
</rss>
