<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1724244</guid>
        <pubDate>Wed, 10 Oct 2007 09:02:14 +0000</pubDate>
        <title>Как из Access открыть Excel выполнить в Excel макрос и закрыть с сохранением.</title>
        <link>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1724244</link>
        <description><![CDATA[Nick: 2 <strong class='tag-b'>pvr</strong> копирование.<br>
2 <strong class='tag-b'>Rust</strong> - спасибки - по виду самое оно&#33;<br>
пробовать не буду - уже далеко ушел.<br>
Думаю линк в ФАК добавить стоит.<br>
<br>
<br>
С учетом поста <strong class='tag-b'>Rust</strong> думаю можно закрывать тему.]]></description>
        <author>Nick</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1724163</guid>
        <pubDate>Wed, 10 Oct 2007 08:27:34 +0000</pubDate>
        <title>Как из Access открыть Excel выполнить в Excel макрос и закрыть с сохранением.</title>
        <link>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1724163</link>
        <description><![CDATA[pvr: <strong class='tag-b'>Nick</strong><br>
Так какая строка моего кода подвисает -<br>
Copy или PasteSpecial ???]]></description>
        <author>pvr</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1724126</guid>
        <pubDate>Wed, 10 Oct 2007 08:13:23 +0000</pubDate>
        <title>Как из Access открыть Excel выполнить в Excel макрос и закрыть с сохранением.</title>
        <link>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1724126</link>
        <description><![CDATA[Rust: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=205987&view=findpost&p=1722931'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Nick &#064; <time class="tag-quote__quoted-time" datetime="2007-10-09T07:50:00+00:00">09.10.07, 07:50</time></span><div class='quote '>Создать в нем макрос определенного содержания - не решено<br>
Передать управление екселю и запустить макрос - не решено<br>
по окончании выполнения макроса - удалить все макросы в екселе - не решено</div></div><br>
<a class='tag-url' href='http://support.microsoft.com/kb/219905/ru' target='_blank'>Динамическое добавление и запуск макроса на языке VBA в среде разработки Visual Basic</a>]]></description>
        <author>Rust</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1723945</guid>
        <pubDate>Wed, 10 Oct 2007 06:18:50 +0000</pubDate>
        <title>Как из Access открыть Excel выполнить в Excel макрос и закрыть с сохранением.</title>
        <link>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1723945</link>
        <description><![CDATA[Nick: я же говорю - макрос сначала был написан в екселе - время выполнения - 20-40 секунд на всё.<br>Даже операция выделения непустых ячеек - это 1-3 секунды если запускаешь макрос в екселе (по упомянутому тобой F8) против 5 минут - если это делаешь в аксесе.<br>Операция копирования в твоём коде приводит к подвисанию связки (это если дождаться пока оно все выделит) - на работе процесора и памяти данный процес никак не отражается почему-то... :unsure: <br>в моём же коде процес идет, но на каждую ячейку тратится очень много времени (10-20ячеек за секунду) при минимальном размере 2000*40 - это на долго....<br><br><br> :&#39;(  :blink:  :&#39;(]]></description>
        <author>Nick</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1723679</guid>
        <pubDate>Tue, 09 Oct 2007 18:25:11 +0000</pubDate>
        <title>Как из Access открыть Excel выполнить в Excel макрос и закрыть с сохранением.</title>
        <link>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1723679</link>
        <description><![CDATA[pvr: <strong class='tag-b'>Nick</strong><br>
С точки зрения выполнения макроса - абсолютно всё-равно, кто его запускает, работать будет одинаково.<br>
Попробуй мой код выполнить по F8 из аксесса - какой его участок тормозит?<br>
<br>
И тот же код из самого Excel - только objExcel замени на Application.<br>
<br>
У меня одинаково отрабатывает.....<br>
<br>
Может у тебя при старте Excel куча каких-нибудь надстроек грузится?]]></description>
        <author>pvr</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1722931</guid>
        <pubDate>Tue, 09 Oct 2007 07:50:00 +0000</pubDate>
        <title>Как из Access открыть Excel выполнить в Excel макрос и закрыть с сохранением.</title>
        <link>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1722931</link>
        <description><![CDATA[Nick: <strong class='tag-b'>pvr</strong> даааа.....<br>
Повис ексель с аксесом и надежно - снял только через три пальца и то через 10 мин.<br>
То ли лыжи не едут толи я не лыжник....<br>
может как-то можно в екселе создавать макрос-запускать на выполнение-удалять макрос-закрывать с сохранением?<br>
<br>
<br>
<strong class='tag-b'>pvr</strong>- все равно спасибо - показал иной подход.<br>
<br>
<br>
Вопрос остаётся открытым... :no-sad: <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-10-09T08:25:49+00:00">09.10.07, 08:25</time></span></span><br>
Манипуляции привели к твердому решению - никаких действий с ячейками в екселе из под объекта в аксесе. Уже на выделении ячеек связка виснет на минут 5.<br>
<br>
<span class='tag-size' data-value='8' style='font-size:8pt;'><strong class='tag-b'>Следовательно уточняю задачу:</strong></span><br>
<br>
Открыть ексель - <strong class='tag-b'>это решено</strong><br>
Создать в нем макрос определенного содержания - <strong class='tag-b'>не решено</strong><br>
Передать управление екселю и запустить макрос - <strong class='tag-b'>не решено</strong><br>
по окончании выполнения макроса - удалить все макросы в екселе - <strong class='tag-b'>не решено</strong><br>
сохранить и закрыть ексель - <strong class='tag-b'>это решено</strong><br>
передать управление аксесу - <strong class='tag-b'>не решено</strong>]]></description>
        <author>Nick</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1722662</guid>
        <pubDate>Mon, 08 Oct 2007 20:18:26 +0000</pubDate>
        <title>Как из Access открыть Excel выполнить в Excel макрос и закрыть с сохранением.</title>
        <link>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1722662</link>
        <description><![CDATA[pvr: Этого надо избегать<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">For Each tt In objExcel.Selection.Cells</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
Вот так будет быстрее:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Const xlPasteValues = -4163</div><div class="code_line">Const xlCellTypeBlanks = 4</div><div class="code_line">Const xlPasteSpecialOperationAdd = 2</div><div class="code_line">&nbsp;</div><div class="code_line">Dim objExcel As Object, sse As String</div><div class="code_line">sse = &quot;D:\My_doc\sliv.xls&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">Set objExcel = CreateObject(&quot;Excel.application&quot;)</div><div class="code_line">With objExcel</div><div class="code_line">&nbsp;&nbsp; &nbsp;.Workbooks.Open Filename:=sse, ReadOnly:=False</div><div class="code_line">&nbsp;&nbsp; &nbsp;.Cells.SpecialCells(xlCellTypeBlanks).Copy</div><div class="code_line">&nbsp;&nbsp; &nbsp;.ActiveSheet.UsedRange.PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd</div><div class="code_line">&nbsp;&nbsp; &nbsp;.DisplayAlerts = False</div><div class="code_line">&nbsp;&nbsp; &nbsp;.Workbooks(1).SaveAs Filename:=sse</div><div class="code_line">&nbsp;&nbsp; &nbsp;.Quit</div><div class="code_line">End With</div><div class="code_line">Set objExcel = Nothing</div></ol></div></div></div></div>]]></description>
        <author>pvr</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1722338</guid>
        <pubDate>Mon, 08 Oct 2007 13:21:13 +0000</pubDate>
        <title>Как из Access открыть Excel выполнить в Excel макрос и закрыть с сохранением.</title>
        <link>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1722338</link>
        <description><![CDATA[Nick: немного модифицировал<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">sse = &quot;D:\My_doc\sliv.xls&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">Dim objExcel As Object</div><div class="code_line">&nbsp;</div><div class="code_line">Set objExcel = CreateObject(&quot;Excel.application&quot;)</div><div class="code_line">With objExcel</div><div class="code_line">.Workbooks.Add Template:=sse</div><div class="code_line">.Visible = True</div><div class="code_line">End With</div><div class="code_line">&nbsp;</div><div class="code_line">objExcel.ActiveSheet.UsedRange.Select</div><div class="code_line">For Each tt In objExcel.Selection.Cells</div><div class="code_line">&nbsp;&nbsp; &nbsp;tt.Value = tt.Value</div><div class="code_line">&nbsp;&nbsp; &nbsp;rreee = tt.Address</div><div class="code_line">Next tt</div><div class="code_line">objExcel.Application.DisplayAlerts = False</div><div class="code_line">objExcel.Workbooks(1).SaveAs sse</div><div class="code_line">objExcel.Application.Quit</div><div class="code_line">Set objExcel = Nothing</div></ol></div></div></div></div><br>
Но грабли вылезли в следующем: на полной базе это займет около часа (напомню в екселе это занимает 20 сек)<br>
Может есть нормальный способ выливать в ексель числа чтобы не приходилось так корячиться????<br>
напомню: при экспорте в ексель из аксеса числовые поля стают текстом - спасает от этого только процедура повторного присвоения значения(см код выше)<br>
<br>
ХЕЛП&#33;&#33;&#33;&#33;&#33;&#33;&#33;&#33;&#33;&#33; :wall:   :wall:  :wall:  :wall:  :wall:  :wall:  :wall:   :wall:  :wall:  :wall:  :wacko:  :wacko:  :wacko:]]></description>
        <author>Nick</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1722233</guid>
        <pubDate>Mon, 08 Oct 2007 12:15:41 +0000</pubDate>
        <title>Как из Access открыть Excel выполнить в Excel макрос и закрыть с сохранением.</title>
        <link>https://forum.sources.ru/index.php?showtopic=205987&amp;view=findpost&amp;p=1722233</link>
        <description><![CDATA[Nick: Весь фак перерыл - ничего не нашел....<br>
Хотя скорее всего уже не раз обсасывалось.<br>
<br>
из Аксеса хочу открыть екселевский файл в который экспортировал данные. Числовые поля которые упрямо воспринимаются как текст привести в нормальный вид следующим кодом:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ActiveSheet.UsedRange.Select</div><div class="code_line">For Each tt In Selection.Cells</div><div class="code_line">&nbsp;&nbsp; &nbsp;tt.Value = tt.Value</div><div class="code_line">Next tt</div></ol></div></div></div></div><br>
<br>
<br>
____________________________<br>
Хор Веревки: :whistle:  :whistle:  :whistle:  :whistle:  :whistle:  :whistle:  :whistle:  :whistle:  :whistle:  :whistle:  :whistle: <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-10-08T12:31:19+00:00">08.10.07, 12:31</time></span></span><br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Shell &quot;cmd /X /C start c:\mydoc\example.xls&quot;</div></ol></div></div></div></div>открывает - но как дальше выполнить там макрос пока не ясно. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-10-08T12:54:40+00:00">08.10.07, 12:54</time></span></span><br>
Вот что получилось:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">sse = &quot;D:\My_doc\sliv.xls&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">Dim objExcel As Object</div><div class="code_line">&nbsp;</div><div class="code_line">Set objExcel = CreateObject(&quot;Excel.application&quot;)</div><div class="code_line">With objExcel</div><div class="code_line">.Workbooks.Add Template:=sse</div><div class="code_line">.Visible = True</div><div class="code_line">End With</div><div class="code_line">&nbsp;</div><div class="code_line">objExcel.ActiveSheet.UsedRange.Select</div><div class="code_line">For Each tt In objExcel.Selection.Cells</div><div class="code_line">&nbsp;&nbsp; &nbsp;tt.Value = tt.Value</div><div class="code_line">Next tt</div><div class="code_line">objExcel.Workbooks(1).Save</div><div class="code_line">objExcel.Application.Quit</div><div class="code_line">&nbsp;</div><div class="code_line">Set objExcel = Nothing</div></ol></div></div></div></div><br>
Единственное думает очень долго....<br>
Если исходный макрос запускать из екселся - раз в 20 быстрее.<br>
<br>
за наведение на мысль спасибо <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=99863&hl=#' target='_blank'><strong class='tag-b'>Mongol</strong></a> и <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=70536&hl=#' target='_blank'><strong class='tag-b'>maxim84_</strong></a>]]></description>
        <author>Nick</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	