<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Excel VBA: Создать файл xls, вставить в него данные, закрыть и ...]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=6860&amp;type=atom" />
	<updated>2012-02-24T22:14:00Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=6860</id>
		<entry>
			<title type="html"><![CDATA[Re: Excel VBA: Создать файл xls, вставить в него данные, закрыть и ...]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=57210#p57210" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>JSman пишет:</cite><blockquote><p>Может быть стоит запускать это из WSH?</p></blockquote></div><p>Нет, не могу - надо чтоб пользователь мог выбирать дату и номер параметра</p><p>Сервер MS SQL 2008, оптимизировать запрос не получится т.к. данные хранятся в бинарном виде и их надо конвертировать в число с плавающей запятой %)<br />Метод Quit попробую...<br />Номер моей аськи 127803839</p>]]></content>
			<author>
				<name><![CDATA[-red-]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=11960</uri>
			</author>
			<updated>2012-02-24T22:14:00Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=57210#p57210</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Excel VBA: Создать файл xls, вставить в него данные, закрыть и ...]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=57205#p57205" />
			<content type="html"><![CDATA[<p>1) А вы книгу же не закрываете. По крайней мере в коде я этого не вижу.<br /></p><div class="codebox"><pre><code>xlApp.Quit</code></pre></div><p>2) Может стоит всё таки оптимизировать сам запрос к серверу или страницу выдачи информации ? На чём серверная часть собрана PHP / ASP ? Или её нет ? И все обращения делаются через механизмы самого SQL сервака ?</p><p>3) Думаю стоит связаться по ICQ. Удобнее будет. 252505765</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2012-02-24T20:05:35Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=57205#p57205</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Excel VBA: Создать файл xls, вставить в него данные, закрыть и ...]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=57199#p57199" />
			<content type="html"><![CDATA[<p>Может быть стоит запускать это из WSH?</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2012-02-24T17:42:13Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=57199#p57199</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Excel VBA: Создать файл xls, вставить в него данные, закрыть и ...]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=57183#p57183" />
			<content type="html"><![CDATA[<p>... обратиться к нему как к БД через ADO.</p><p>Проблема в том что создаваемый файл xls не должен появляться на экране. Кострукция типа:<br /></p><div class="codebox"><pre><code>
Set xlApp = CreateObject(&quot;Excel.Application&quot;)
xlApp.Visible = False
xlApp.UserControl = False
Set xlWb = xlApp.Workbooks.Add
xlWb.Worksheets.Add().Name = &quot;system&quot;
Set xlWs = xlWb.Worksheets(&quot;system&quot;)
xlWs.Cells(1, 1).CopyFromRecordset oRecordset
xlWb.SaveAs Filename:=ActiveWorkbook.Path &amp; &quot;\rashodomeri_tmp.xlsx&quot;, FileFormat:=xlOpenXMLWorkbook, ConflictResolution:=xlLocalSessionChanges</code></pre></div><p>Выводит на экран файл и всё тут <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p><p>Для ясности напишу зачем я это делаю.<br />Есть задача отобразить данные из MS SQL сервера, при условиях:<br />1. Доступ к БД через интернет (достаочно медленный) - количество запросов должно быть сведено к минимуму.<br />2. Данные в БД хранятся в &quot;сыром&quot; т.е. бинарном виде - требуется преобразовать эти данные в привычную человеку форму.<br />3. В один из столбцов в БД пишется дата (формат DateTime) нужно вывести 3 вида отчета - дневной, месячный и годовой.</p><p>Дневной вид отчета делается легко: запрос с between, на лету из RecordSet данные конвертирую в человеческий формат. А вот месячный и годовой, решил сделать так: Сначала такой же запрос как и в дневном (только период дат побольше), потом копирование всего этого хозяйства в локальную таблицу, потом обращение к этой таблице как к БД через ADO с группировкой по месяцу или году и вуаля...<br />... но тут блин выскакивает на экран новый файл и как с ним боротться не знаю <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p><p>Сейчас буду копать в сторону встроенных процедур на сервере с БД</p>]]></content>
			<author>
				<name><![CDATA[-red-]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=11960</uri>
			</author>
			<updated>2012-02-24T11:51:57Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=57183#p57183</id>
		</entry>
</feed>
