<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Работа с переменными через Clipboard]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5829&amp;type=atom" />
	<updated>2011-05-25T05:02:54Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5829</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Работа с переменными через Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48652#p48652" />
			<content type="html"><![CDATA[<p>Во! вот это мне и надо было узнать! спасибо большое!<br />теперь все гуд будет!</p>]]></content>
			<author>
				<name><![CDATA[zodiacpavel]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26967</uri>
			</author>
			<updated>2011-05-25T05:02:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48652#p48652</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Работа с переменными через Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48630#p48630" />
			<content type="html"><![CDATA[<p>Как понятно из моего примера, при копировании из ячейки в буфер обмена попадает не только то, что мы видим в ячейке, но и знак переноса строки. Если в ячейке число, то для проведения математических операций с ним нужно сначала удалить знак переноса строки. Это можно сделать посредством <em><a href="http://script-coding.com/AutoHotkey/RegExReplace.html">RegExReplace</a></em>:<br /></p><div class="codebox"><pre><code>F11::
clipboard =  ; освобождаем буфер обмена
WinActivate,  Microsoft Excel
;активация окна екселя

MouseClick, Left, 70,140
Sleep 100
Send, R
Sendraw, 4
sleep 100
Send, {enter}
;Переход в ячейку с нужным значением

Send, ^{vk43} ; Ctrl + C
;сохранение численного значения в буфере обмена
ClipWait, 2   ; ждём, когда в буфере появится текст в течение 2 секунд
if ErrorLevel
{
   MsgBox, Буфер обмена пуст!
   Return
}
; MsgBox, % &quot;|&quot; Clipboard &quot;|&quot;
MsgBox, % y := RegExReplace(Clipboard, &quot;\R&quot;) + 1</code></pre></div><div class="quotebox"><cite>zodiacpavel пишет:</cite><blockquote><p>а ^{vk43}<br />это что за конструкция у тебя такая?</p></blockquote></div><p>vk43 — это виртуальный код клавиши &quot;с&quot;. При посылке шорткатов с буквенными клавишами лучше пользоваться не их названиями, а именно виртуальными кодами, т. к. на некоторых машинах при русской раскладке сочетание ^c не будет работать.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2011-05-23T12:59:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48630#p48630</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Работа с переменными через Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48629#p48629" />
			<content type="html"><![CDATA[<p>а ^{vk43} <br />это что за конструкция у тебя такая?</p>]]></content>
			<author>
				<name><![CDATA[zodiacpavel]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26967</uri>
			</author>
			<updated>2011-05-23T12:51:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48629#p48629</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Работа с переменными через Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48628#p48628" />
			<content type="html"><![CDATA[<p>Ну это понятно, спасибо.<br />А возможно ли этому значению буфера обмена присвоить значение переменной, и с ней провести математические манипуляции?<br />например, копируем число 1; в буфере обмена clipboard=1.<br />Присвоим значению clipboard переменную х:<br /></p><div class="codebox"><pre><code>x=%clipboard%</code></pre></div><p>затем проведем математические манипуляции:<br /></p><div class="codebox"><pre><code>y:=1+x</code></pre></div><p>возможно ли получить на выходе 2?</p>]]></content>
			<author>
				<name><![CDATA[zodiacpavel]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26967</uri>
			</author>
			<updated>2011-05-23T12:43:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48628#p48628</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Работа с переменными через Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48625#p48625" />
			<content type="html"><![CDATA[<p>В общем понял твою проблему. Запусти такой код со своим первоначальным примером, и тоже поймёшь, в чём причина:<br /></p><div class="codebox"><pre><code>F11::
clipboard =  ; освобождаем буфер обмена
WinActivate,  Microsoft Excel
;активация окна екселя

MouseClick, Left, 70,140
Sleep 100
Send, R
Sendraw, 4
sleep 100
Send, {enter}
;Переход в ячейку с нужным значением

Send, ^{vk43} ; Ctrl + C
;сохранение численного значения в буфере обмена
ClipWait, 2   ; ждём, когда в буфере появится текст в течение 2 секунд
if ErrorLevel
{
   MsgBox, Буфер обмена пуст!
   Return
}
MsgBox, % &quot;|&quot; Clipboard &quot;|&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2011-05-23T11:14:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48625#p48625</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Работа с переменными через Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48624#p48624" />
			<content type="html"><![CDATA[<p>Да, правильно, а перед тем как копировать в экселе значение в ячейке, эту ячейку надо выделить.</p>]]></content>
			<author>
				<name><![CDATA[zodiacpavel]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26967</uri>
			</author>
			<updated>2011-05-23T11:11:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48624#p48624</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Работа с переменными через Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48623#p48623" />
			<content type="html"><![CDATA[<p>Перед тем, как копировать в буфер обмена с помощью Ctrl + C какой-либо текст, нужно его сначала выделить.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2011-05-23T11:05:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48623#p48623</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Работа с переменными через Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48622#p48622" />
			<content type="html"><![CDATA[<p>Попробуй в экселе в произвольную в ячейку ввести любое число, затем вручную скопировать это число, нажать контр+с (занести в буфер обмена это число).<br />затем вот это:</p><div class="codebox"><pre><code>F7
x = %clipboard%
; присвоение значения переменной

y:=x+1
; пример обработки переменной

msgbox, %y%
; вывод значения</code></pre></div><p>не понимаю почему числа не хочет считывать из екселевских ячеек, но все работает если скопировать в ворде любую цифру?</p>]]></content>
			<author>
				<name><![CDATA[zodiacpavel]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26967</uri>
			</author>
			<updated>2011-05-23T10:46:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48622#p48622</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Работа с переменными через Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48621#p48621" />
			<content type="html"><![CDATA[<p>Я не пойму, а что у тебя в ячейке, из которой ты берёшь текст? При запуске этого кода у меня получается &quot;R4&quot;.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2011-05-23T10:05:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48621#p48621</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Работа с переменными через Clipboard]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48619#p48619" />
			<content type="html"><![CDATA[<p>Возможна ли работа с переменными, присвоенными из&nbsp; буфера обмена (числовые значения)?</p><div class="codebox"><pre><code>F7::

WinActivate,  Microsoft Excel
;активация окна екселя

MouseClick, Left, 70,140
Sleep 100
Send, R
Sendraw, 4
sleep 100
Send, {enter}
;Переход в ячейку с нужным значением

Send, ^c ; копирование данных в буфер обмена
;сохранение численного значения в буфере обмена 

x = %clipboard%
; присвоение значения переменной

y:=x+1
; пример обработки переменной

msgbox, %y%
; вывод значения</code></pre></div><p>Значение y получается пустым.&nbsp; <br />То есть, из буфера обмена числа не воспринимаются?<br />Как сделать так, чтоб это было возможно, или AHK не воспринимает значения из вне?</p>]]></content>
			<author>
				<name><![CDATA[zodiacpavel]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26967</uri>
			</author>
			<updated>2011-05-23T04:56:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48619#p48619</id>
		</entry>
</feed>
