<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK в Эксель]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=15883</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15883&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK в Эксель».]]></description>
		<lastBuildDate>Fri, 04 Dec 2020 19:47:36 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK в Эксель]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=143906#p143906</link>
			<description><![CDATA[<p>Попробуйте так:<br /></p><div class="codebox"><pre><code>filePath = %A_ScriptDir%\numbers.xlsx

Xl := ComObjCreate(&quot;Excel.Application&quot;)
Book := Xl.Workbooks.Open(filePath)

XlSht := Xl.ActiveSheet
Cells := XlSht.Cells

; это номер последней заполненной ячейки в колонке A
lastCellNum := Cells.(XlSht.Rows.Count, &quot;A&quot;).End(xlUp := -4162).Row
; если нужен другой номер, можно написать
; lastCellNum := 50 ; где вместо 50 нужный номер

CellsArray := []
Loop % lastCellNum
   CellsArray.Push( XlSht.Range(&quot;A&quot; . A_Index).text )
Xl.Quit()

WinActivate, Программа
for k, v in CellsArray
   SendInput, {Text}Команда`n%v%`n</code></pre></div><p>Если так будет слишком быстро, разбавьте посыл слипами.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 04 Dec 2020 19:47:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=143906#p143906</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK в Эксель]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=143892#p143892</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />ну скрипт разовый, думаю достаточно до определенной ячейки. Просто понять как это лучше сделать.</p>]]></description>
			<author><![CDATA[null@example.com (Netriver)]]></author>
			<pubDate>Fri, 04 Dec 2020 09:00:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=143892#p143892</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK в Эксель]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=143889#p143889</link>
			<description><![CDATA[<p>Visible — он по умолчанию false, так что здесь указывать не нужно. screenUpdating, как я понимаю, поможет, только если мы вводим какие-то данные в таблицу, мы здесь только читаем, так что тоже не нужно. book.close(false) — тоже лишнее, закроется автоматически, мы ведь ничего не меняли.<br /><em>Send, ^v</em> скорее всего не нужно, можно просто использовать SendInput. Или даже сначала собрать весь текст в переменную, и вставить всё за один раз. Поэтому я бы подождал сперва ответов ТС.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 04 Dec 2020 08:42:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=143889#p143889</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK в Эксель]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=143888#p143888</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />xl.Visible - скрытый режим<br />xl.screenUpdating - для ускорения кода&nbsp; отключение обновления экрана</p><p>Или может необязательно сразу два использовать?</p>]]></description>
			<author><![CDATA[null@example.com (inseption86)]]></author>
			<pubDate>Fri, 04 Dec 2020 08:26:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=143888#p143888</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK в Эксель]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=143887#p143887</link>
			<description><![CDATA[<p><strong>inseption86</strong><br />А Visible и screenUpdating что дают?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 04 Dec 2020 08:18:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=143887#p143887</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK в Эксель]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=143886#p143886</link>
			<description><![CDATA[<p><strong>Netriver</strong></p><div class="codebox"><pre><code>
    Path = %A_ScriptDir%\numbers.xlsx  
	Xl := ComObjCreate(&quot;Excel.Application&quot;)
	book := Xl.Workbooks.Open(Path)
    Xl.Visible := false
    xl.screenUpdating := 0

	loop % book.workSheets(1).Cells.(book.workSheets(1).Rows.Count, &quot;A&quot;).End(xlUp := -4162).Row
	{
	  book.workSheets(1).cells(A_index,1).Copy 

       WinActivate, Программа
       .....
       Send, ^v
       ......

      step++
	}
	
    xl.screenUpdating := 1
	MsgBox, 262144, , Скопировано %step% строк!
	book.close(false)
	xl.quit
	ExitApp

</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (inseption86)]]></author>
			<pubDate>Fri, 04 Dec 2020 07:50:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=143886#p143886</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK в Эксель]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=143885#p143885</link>
			<description><![CDATA[<p>Так а вопрос в чём, как скопировать от А1 до определённого номера, или как скопировать до последней заполненной ячейки?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 04 Dec 2020 06:21:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=143885#p143885</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK в Эксель]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=143884#p143884</link>
			<description><![CDATA[<p>Ну, в этом примере скрипт сделает следующее:<br />1. Сделает активным окно &quot;программы&quot;<br />2. Отправит &quot;комманду&quot;<br />3. Откроет файл экселя<br />4. Скопирует ячейку A1<br />5. Вернется в &quot;программу&quot;<br />6. Вставит и отправит данные</p><p>После этого повторить, но в пункте 4 будет уже А2.<br />Необходимо продолжить цикл до условно A8000 например. Если я ставлю A1:A8000, то он копирует весь столбец.<br />Извиняюсь за возможно нубский вопрос.</p>]]></description>
			<author><![CDATA[null@example.com (Netriver)]]></author>
			<pubDate>Fri, 04 Dec 2020 06:13:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=143884#p143884</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK в Эксель]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=143880#p143880</link>
			<description><![CDATA[<p>Не очень понятно, что вы имеете в виду под &quot;построчно&quot;, и что именно вы хотите скопировать. Какой-то диапазон ячеек? Какой именно?<br />Каждый раз не нужно заново создавать объект Excel.Application, нужно создать один раз в начале до цикла, потом выйти в после цикла.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 04 Dec 2020 00:11:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=143880#p143880</guid>
		</item>
		<item>
			<title><![CDATA[AHK в Эксель]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=143876#p143876</link>
			<description><![CDATA[<p>Подскажите, есть простой скрипт копирования из экселя в другую программу построчно (так&nbsp; надо):<br /></p><div class="codebox"><pre><code>For i, cellname In [&quot;A1&quot;,&quot;A2&quot;]  
{
	WinActivate, Программа
	Sleep, 333
	SendRaw, Команда
	Sleep, 300
	Send, {Enter}
	Sleep, 300
	clipboard =
	Path = %A_ScriptDir%\numbers.xlsx  
	Xl := ComObjCreate(&quot;Excel.Application&quot;)
	Xl.Workbooks.Open(Path)
	Xl.Range(cellname).Copy 
	Xl.Quit()
	Sleep, 300
	WinActivate, Программа
	Sleep, 333
	Send, ^v
	Send, {Enter}
}</code></pre></div><p>Скрипт работает как надо, но не могу найти, как заменить кусок </p><div class="codebox"><pre><code>cellname In [&quot;A1&quot;,&quot;A2&quot;]</code></pre></div><p> если у меня ячеек больше (т.е не прописывая руками A3, A4 и т.д?</p>]]></description>
			<author><![CDATA[null@example.com (Netriver)]]></author>
			<pubDate>Thu, 03 Dec 2020 20:51:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=143876#p143876</guid>
		</item>
	</channel>
</rss>
