<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBA: работа с файлом реестра]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5055</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5055&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBA: работа с файлом реестра».]]></description>
		<lastBuildDate>Tue, 26 Oct 2010 08:34:40 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40843#p40843</link>
			<description><![CDATA[<p>Например, так:<br /></p><div class="codebox"><pre><code>Option Explicit

Const HKEY_LOCAL_MACHINE = &amp;H80000002

Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemObjectEx

Dim arrNames
Dim arrTypes
Dim elem

Dim strParameter
Dim boolFound


strComputer = &quot;.&quot;

Set objSWbemLocator    = WScript.CreateObject(&quot;WbemScripting.SWbemLocator&quot;)
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, &quot;root\default&quot;)
Set objSWbemObjectEx   = objSWbemServicesEx.Get(&quot;StdRegProv&quot;)

strParameter = &quot;nwiz&quot;

If objSWbemObjectEx.EnumValues(HKEY_LOCAL_MACHINE, &quot;SOFTWARE\Microsoft\Windows\CurrentVersion\Run&quot;, arrNames, arrTypes) = 0 Then
    boolFound = False
    
    If IsArray(arrNames) Then
        For Each elem In arrNames
            If elem = strParameter Then
                boolFound = True
                
                Exit For
            End If
        Next
    End If
    
    If boolFound Then
        WScript.Echo &quot;Parameter [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\&quot; &amp; strParameter &amp; &quot;] found&quot;
    Else
        WScript.Echo &quot;Parameter [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\&quot; &amp; strParameter &amp; &quot;] not found&quot;
    End If
Else
    WScript.Echo &quot;Can&#039;t enumerate parameters in registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]&quot;
End If

Set objSWbemObjectEx   = Nothing
Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

WScript.Quit 0</code></pre></div><p>Здесь ищем параметр «nwiz» в разделе «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run».</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Tue, 26 Oct 2010 08:34:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40843#p40843</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40840#p40840</link>
			<description><![CDATA[<p>хочу чтобы скрипт выполнялся только в том случае , если в реестре ость определённый ключ</p>]]></description>
			<author><![CDATA[null@example.com (user23249)]]></author>
			<pubDate>Tue, 26 Oct 2010 06:45:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40840#p40840</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40829#p40829</link>
			<description><![CDATA[<p>Что именно Вы хотите сделать затем?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 25 Oct 2010 17:46:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40829#p40829</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40825#p40825</link>
			<description><![CDATA[<p>Встал вопрос проверки существования ключа реестра .<br />Поиск по данному форуму и в технете не помог , выручайте Коллеги .</p>]]></description>
			<author><![CDATA[null@example.com (user23249)]]></author>
			<pubDate>Mon, 25 Oct 2010 11:49:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40825#p40825</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40822#p40822</link>
			<description><![CDATA[<p>спасибо , разобрался .</p>]]></description>
			<author><![CDATA[null@example.com (user23249)]]></author>
			<pubDate>Mon, 25 Oct 2010 11:31:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40822#p40822</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40581#p40581</link>
			<description><![CDATA[<p>Да ладно ))) у меня 4 системы запущено на одном и есть некоторые проблемы с раскладками</p>]]></description>
			<author><![CDATA[null@example.com (smaharbA)]]></author>
			<pubDate>Tue, 19 Oct 2010 12:23:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40581#p40581</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40580#p40580</link>
			<description><![CDATA[<p>Абрахамс, ёлы-палы, Shift почини, а? <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Tue, 19 Oct 2010 12:11:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40580#p40580</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40578#p40578</link>
			<description><![CDATA[<p>исходный файл длиннее максимально разрешённого сообщения , так что выложить тоже проблема ...<br />но он действительно в уникоде.... <br />сейчас буду пробовать экспортировать регедит4 , спасибо</p>]]></description>
			<author><![CDATA[null@example.com (user23249)]]></author>
			<pubDate>Tue, 19 Oct 2010 11:57:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40578#p40578</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40576#p40576</link>
			<description><![CDATA[<p>выложите исходный файл</p><p>а так когда экспортировали файл реестра надо было выбрать тип REGEDIT4</p>]]></description>
			<author><![CDATA[null@example.com (smaharbA)]]></author>
			<pubDate>Tue, 19 Oct 2010 11:31:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40576#p40576</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40575#p40575</link>
			<description><![CDATA[<p>а можно эту же фразу в варианте для чайников )</p>]]></description>
			<author><![CDATA[null@example.com (user23249)]]></author>
			<pubDate>Tue, 19 Oct 2010 11:14:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40575#p40575</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40572#p40572</link>
			<description><![CDATA[<p>файлик исходный в уникоде<br />либо экспортируйте из реестра в регедит4 либо и работайте в юникоде</p>]]></description>
			<author><![CDATA[null@example.com (smaharbA)]]></author>
			<pubDate>Tue, 19 Oct 2010 09:41:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40572#p40572</guid>
		</item>
		<item>
			<title><![CDATA[VBA: работа с файлом реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40562#p40562</link>
			<description><![CDATA[<p>Добрый день . Устанавливаем на предприятии Автокад 2010 и его разновидности ( Механикал и Электрикал ) , поставить с помощью групповой политики и System Center , не представляется возможным из за кривости ЛИЦЕНЗИОННОГО дистрибутива . Требуется установить на 400 машин , так что в ручную в одно лицо ставить не очень приятно . В результате было принято решение ставить через антивирус Касперского с помощью встроенного в него распространителя собственных обновлений , и вуаля всё получилось и Автокад установлен . Теперь надо исправить парочку файлов реестра и можно трудиться . Решено было написать 2 скрипта и инструкцию пользователям для первоначальной настройки . Первый скрипт заменяет в файле реестра &quot;userNNNNN&quot; на &quot;user(его порядковый номер ) казалось бы элементарно <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> но упорно не получается .<br /> </p><div class="quotebox"><blockquote><p><strong>Есть файл реестра: </strong> HK_CU_ACAD_EL_userNNNNN он лежит в D:\User_ws\<br />к нему применяется скрипт </p><div class="quotebox"><blockquote><p>Const OverwriteExisting = True<br />regfn=&quot;HK_CU_ACAD_EL_userNNNNN.reg&quot;</p><br /><p>Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)<br />Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)</p><p>tempFolder=WshShell.ExpandEnvironmentStrings(&quot;%Temp%&quot;)<br />tempFolder=tempFolder &amp; &quot;\&quot; <br /> &#039;wscript.echo tempFolder</p><p>userprof=WshShell.ExpandEnvironmentStrings(&quot;%userprofile%&quot;)<br /> &#039;wscript.echo userprof</p><p>targetFolder=WshShell.ExpandEnvironmentStrings(&quot;%APPDATA%&quot;) &amp; &quot;\Autodesk\AutoCAD Mechanical 2010\&quot;<br />&#039;wscript.echo targetFolder</p><br /><p>If (objFSO.FolderExists(targetFolder)) Then<br />	objFSO.CopyFile &quot;D:\User_ws\&quot; &amp; regfn, tempFolder , OverwriteExisting</p><p>	Const ForReading = 1<br />	Const ForWriting = 2</p><p>	reg_filename=tempFolder &amp; regfn<br />	reg_in=&quot;D:\\Documents and Settings\\userNNNNN&quot;<br />	reg_out=Replace(userprof,&quot;\&quot;,&quot;\\&quot;)<br /> &#039;wscript.echo reg_in<br /> &#039;wscript.echo reg_out</p><p>	Set objFile = objFSO.OpenTextFile(reg_filename, ForReading)<br />	strText = objFile.ReadAll<br />	objFile.Close</p><p>	strNewText = Replace(strText, reg_in, reg_out)</p><p>	Set objFile = objFSO.OpenTextFile(reg_filename, ForWriting)<br />	objFile.WriteLine strNewText<br />	objFile.Close</p><p>	&#039;txtComm=&quot;regedit &quot;&quot;&quot; &amp; reg_filename &amp; &quot;&quot;&quot;&quot;<br />&#039;WScript.Echo txtComm<br />	&#039;Return = WshShell.Run(txtComm, 1, true)<br />&#039;WScript.Echo Return <br />	&#039;objFSO.DeleteFile(reg_filename)</p></blockquote></div><p>Скрипт анологичен скрипту который писался ранее для АВТОКАДА 2006 , там всё работает на ура . <br />в результате получается файл реестра который лежит в&nbsp; D:\Temp\&nbsp; , но не корректный . но на исходный он совсем не похож </p><div class="quotebox"><blockquote><p><a href="http://www.radikal.ru"><span class="postimg"><img src="http://s50.radikal.ru/i128/1010/29/5755b2aeb31e.jpg" alt="http://s50.radikal.ru/i128/1010/29/5755b2aeb31e.jpg" /></span></a></p></blockquote></div></blockquote></div><p>подскажите ламеру , не хочу ко всем машинам лично цепляться и за них это всё делать ....)</p>]]></description>
			<author><![CDATA[null@example.com (user23249)]]></author>
			<pubDate>Tue, 19 Oct 2010 05:59:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40562#p40562</guid>
		</item>
	</channel>
</rss>
