<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; WSH: Закрыть Excel с сохранением]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6510&amp;type=atom" />
	<updated>2011-12-14T04:59:32Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=6510</id>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54599#p54599" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Rom5 пишет:</cite><blockquote><p>Кстати, а почему сторонним средством отправлять именно Esc? <br />Ведь по идее можно отправить и Enter или Tab, чтобы изменения в редактируемой ячейке оставались.</p></blockquote></div><p>ОК, тогда так:<br /></p><div class="codebox"><pre><code>
With CreateObject(&quot;WScript.Shell&quot;)
	.AppActivate &quot;Книга1&quot;
	.SendKeys &quot;{Enter}&quot;	
End With</code></pre></div><div class="quotebox"><cite>Rom5 пишет:</cite><blockquote><p>И может это самое сторонее средство сможет и получить список всех окон, чтобы вычислить интересуемое Эксельное.</p></blockquote></div><p>Чтобы получить список всех открытых книг экселя нужно отработать с коллекцией workbooks объекта objXL, а он недоступен. А вычислить окошки экселя из скрипта без костылей по-моему не получится.<br /></p><div class="quotebox"><cite>Rom5 пишет:</cite><blockquote><p><strong>tombender</strong>, а каким образом запускается скрипт выхода-сохранения, что при его работе допутимы незаконченные правки пользователя?</p></blockquote></div><p>Выход-сохранение можно реализовать так:<br /></p><div class="codebox"><pre><code>
With GetObject(, &quot;Excel.Application&quot;)
	.DisplayAlerts = False		
	.Save
	.Quit
End With</code></pre></div>]]></content>
			<author>
				<name><![CDATA[dab00]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27085</uri>
			</author>
			<updated>2011-12-14T04:59:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54599#p54599</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54575#p54575" />
			<content type="html"><![CDATA[<p>Кстати, а почему сторонним средством отправлять именно Esc? <br />Ведь по идее можно отправить и Enter или Tab, чтобы изменения в редактируемой ячейке оставались. И может это самое сторонее средство сможет и получить список всех окон, чтобы вычислить интересуемое Эксельное.</p><p><strong>tombender</strong>, а каким образом запускается скрипт выхода-сохранения, что при его работе допутимы незаконченные правки пользователя?</p>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2011-12-13T18:06:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54575#p54575</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54545#p54545" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>max7 пишет:</cite><blockquote><p>Ну, можно, например, сторонними средствами сгенерировать нажатие ESCAPE (при активном окне excel&#039;я), тогда он выйдет из этого режима.</p></blockquote></div><p>В таком случае, если знаем имя книги - решение есть:<br /></p><div class="codebox"><pre><code>
With CreateObject(&quot;WScript.Shell&quot;)
	.AppActivate &quot;Книга1&quot;
	.sendkeys &quot;{ESCAPE}&quot;	
End With</code></pre></div><p>Если не знаем - решения нет, т.к. objXL недоступен.<br />Можно конечно:<br /></p><div class="codebox"><pre><code>
For Each objProcess In GetObject(&quot;winmgmts:\\.\root\cimv2&quot;).ExecQuery(&quot;Select * from Win32_Process Where Name=&#039;excel.exe&#039;&quot;)
	objProcess.Terminate()
Next</code></pre></div><p>Но тогда о сохранении изменений, разумеется, речи не идет <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.</p>]]></content>
			<author>
				<name><![CDATA[dab00]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27085</uri>
			</author>
			<updated>2011-12-13T07:01:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54545#p54545</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54543#p54543" />
			<content type="html"><![CDATA[<p><strong>2max7</strong>: ну, да, и я про это. Меня удивило Ваше:<br /></p><div class="quotebox"><cite>max7 пишет:</cite><blockquote><p>Лечение 2: objXL.EditDirectlyInCell = False</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-12-12T22:17:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54543#p54543</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54540#p54540" />
			<content type="html"><![CDATA[<p>«.EditDirectlyInCell» - отключает редактирование непосредственно в ячейке и всё, правильно это называется так: <a href="http://mac2.microsoft.com/help/office/14/ru-ru/excel/item/33f341dc-df03-4378-9815-bedee27eaec4?category=69ba1cc3-0fa4-4edc-9e10-bfdddb1684c4">http://mac2.microsoft.com/help/office/1 … dddb1684c4</a><br />Если же каким либо образом excel оказался в режиме ввода и правки, через ячейку, или строку формул, или ещё как, блокируется всё: VBA, вычисления, события, &quot;remote requests&quot; - всё; и сделать с этим средствами excel&#039;я ничего нельзя. Ну, можно, например, сторонними средствами сгенерировать нажатие ESCAPE (при активном окне excel&#039;я), тогда он выйдет из этого режима.</p>]]></content>
			<author>
				<name><![CDATA[max7]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=10498</uri>
			</author>
			<updated>2011-12-12T20:38:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54540#p54540</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54537#p54537" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>dab00 пишет:</cite><blockquote><p>Не доберешься до objXL если он уже в этом режиме</p></blockquote></div><div class="quotebox"><cite>max7 пишет:</cite><blockquote><p>Когда Excel в этом режиме - не поможет ничего. Его можно только отключить до показа пользователю окна.</p></blockquote></div><p>У меня значение «.EditDirectlyInCell» не влияет на это вообще, независимо от того, чему оно равно. Если начато редактирование, неважно — в самой ячейке, або в строке формул — доступа нет.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-12-12T19:14:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54537#p54537</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54527#p54527" />
			<content type="html"><![CDATA[<p>Здесь ничего средствами Excel&#039;я сделать нельзя. Либо менять постановку задачи, либо обходные пути.</p>]]></content>
			<author>
				<name><![CDATA[max7]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=10498</uri>
			</author>
			<updated>2011-12-12T17:47:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54527#p54527</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54526#p54526" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>max7 пишет:</cite><blockquote><p>Лечение 2: objXL.EditDirectlyInCell = False</p></blockquote></div><p>Не доберешься до objXL если он уже в этом режиме</p>]]></content>
			<author>
				<name><![CDATA[dab00]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27085</uri>
			</author>
			<updated>2011-12-12T17:41:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54526#p54526</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54525#p54525" />
			<content type="html"><![CDATA[<p>Когда Excel в этом режиме - не поможет ничего. Его можно только отключить до показа пользователю окна.</p>]]></content>
			<author>
				<name><![CDATA[max7]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=10498</uri>
			</author>
			<updated>2011-12-12T17:39:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54525#p54525</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54522#p54522" />
			<content type="html"><![CDATA[<p><strong>max7</strong>, это поможет в случае, когда Excel уже в этом режиме? К тому же я не увидел разницы в результатах попытки обращения при различных значениях параметра «EditDirectlyInCell».</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-12-12T17:27:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54522#p54522</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54520#p54520" />
			<content type="html"><![CDATA[<p>Это режимы &quot;Ввод и Правка&quot; в ячейке, блокирует довольно много команд и функций.<br />Режимы отображаются в строке состояния <a href="http://office.microsoft.com/ru-ru/excel-help/HA010222505.aspx">http://office.microsoft.com/ru-ru/excel … 22505.aspx</a><br />Лечение 1: <a href="http://office.microsoft.com/ru-ru/excel-help/HP005203588.aspx">http://office.microsoft.com/ru-ru/excel … 03588.aspx</a><br />Лечение 2: objXL.EditDirectlyInCell = False</p><p>+ Полезно почитать про следующие параметры:<br /></p><div class="codebox"><pre><code>HighQualityModeForGraphics
IgnoreRemoteRequests
EnableEvents
Visible
DisplayAlerts
DisplayStatusBar
ScreenUpdating
CutCopyMode
CellDragAndDrop
EditDirectlyInCell
AlertBeforeOverwriting
AskToUpdateLinks
CopyObjectsWithCells
EnableAutoComplete
MapPaperSize</code></pre></div>]]></content>
			<author>
				<name><![CDATA[max7]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=10498</uri>
			</author>
			<updated>2011-12-12T17:08:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54520#p54520</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54143#p54143" />
			<content type="html"><![CDATA[<p><strong>tombender</strong>, я лично не нашёл как сие можно определить и «забороть».</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-12-02T12:31:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54143#p54143</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54139#p54139" />
			<content type="html"><![CDATA[<p>Господа программисты прошу помочь с закрытием Excel_я.</p>]]></content>
			<author>
				<name><![CDATA[tombender]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27397</uri>
			</author>
			<updated>2011-12-02T11:43:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54139#p54139</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54122#p54122" />
			<content type="html"><![CDATA[<p>А еще если курсор стоит в ячейке, то и другой эксельный файл кликом на нем в проводнике - не открывается!:)</p><p>Видимо, Эксель ожидает завершения редактирования ячейки.</p>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2011-12-01T19:17:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54122#p54122</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[WSH: Закрыть Excel с сохранением]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54108#p54108" />
			<content type="html"><![CDATA[<p>Как закрыт<span style="color: Green"><strong>ь</strong></span> E<span style="color: Green"><strong>xcel</strong></span> с сохранением изменени<span style="color: Green"><strong>й</strong></span>?</p><p>Я делаю так:<br /></p><div class="codebox"><pre><code>Dim objXL
On Error Resume Next
Set objXL = GetObject(, &quot;Excel.Application&quot;)
If Not TypeName(objXL) = &quot;Empty&quot; Then
objXL.DisplayAlerts = False
objXL.Save
objXL.quit
End If</code></pre></div><p>Всё работает<span style="color: Green"><strong>,</strong></span> но такой нюанс<span style="color: Green"><strong>:</strong></span> если курсор стоит в ячейке<span style="color: Green"><strong>,</strong></span> то он не закрывается<span style="color: Green"><strong>.</strong></span> <span style="color: Green"><strong>В</strong></span> чём дел<span style="color: Green"><strong>о?</strong></span></p>]]></content>
			<author>
				<name><![CDATA[tombender]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27397</uri>
			</author>
			<updated>2011-12-01T13:44:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54108#p54108</id>
		</entry>
</feed>
