<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBA: Колдунство какое-то...]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8668&amp;type=atom" />
	<updated>2013-09-28T17:55:13Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8668</id>
		<entry>
			<title type="html"><![CDATA[Re: VBA: Колдунство какое-то...]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75609#p75609" />
			<content type="html"><![CDATA[<p>Можно так:</p><div class="codebox"><pre><code>File = &quot;C:\FILENAME.EXT&quot;
With CreateObject(&quot;Scripting.FileSystemObject&quot;)
  GetObject(&quot;winmgmts:\\.\root\CIMV2:CIM_DataFile.Name=&#039;&quot; &amp; File &amp; &quot;&#039;&quot;)._
  Rename(.GetParentFolderName(File) &amp; &quot;\&quot; &amp; LCase(.GetFileName(File)))
End  With</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2013-09-28T17:55:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75609#p75609</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBA: Колдунство какое-то...]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75417#p75417" />
			<content type="html"><![CDATA[<p><strong>inock</strong><br />1) </p><div class="quotebox"><blockquote><p>не знаю как обозвать тему</p></blockquote></div><p>Тему стоит называть в соответствии с задачей которую Вы собираетесь решить. В данном случае, на сколько я понял, у Вас не получается переименовать файл. Значит имя темы логично может быть &quot;<em>VBS: Проблема с переименованием файла</em>&quot; или &quot;<em>VBS: Ошибка при переименовании файла средствами FileSystemObject</em>&quot; и т.п. А Ваше название темы &quot;<em>Колдунство какое-то...</em>&quot; не несёт смысловой нагрузки. Если разобраться в сути, то название темы нужно, чтобы в дальнейшем и Вы и другие участники форума могли благодаря поиску найти интересующую их информацию. Маловероятно, что следующий скриптописец столкнувшийся с такой проблемой будет искать в форуме совпадение по словам &quot;Колдунство&quot;, &quot;Шаманство&quot;, &quot;Глюконавтика&quot;, &quot;Шизофрения&quot;, чтобы найти ответ на свой вопрос. </p><p>2) Возможно и тему то создавать не было смысла, если бы Вы пользовались шикарной поисковой системой GOOGLE осмысленно. Стоило всего лишь вбить в поиск &quot;<strong>FileSystemObject rename LCase</strong>&quot; - (<a href="http://lmgtfy.com/?q=FileSystemObject+rename+LCase">кликаем сюда и наслаждаемся</a>) и вторая же ссылка ведёт на пример скрипта, где всё разобрано - <a href="http://www.source-code.biz/snippets/vbscript/2.htm">ссылка</a>. Не надо думать, что Вы первооткрыватель и весь мир до этого не наступал на Ваши грабли ). На чужих ошибках учиться всегда выгоднее. Не пренебрегайте этим.</p><p>3) Ошибка при переименовании через <strong>FileSystemObject</strong> абсолютно понятна и логична. В файловой системе Windows имя файла &quot;TEST.txt&quot; и &quot;test.txt&quot; и &quot;TeSt.TxT&quot; идентичны. Поэтому при присвоении имени таким кодом:<br /></p><div class="codebox"><pre><code>
f.name=Lcase(FileName)
</code></pre></div><p>мы получаем ошибку &quot;Файл уже существует&quot;.</p><p>Обходится это использованием метода <strong>Move</strong>, который есть у объекта <strong>File</strong> или функцией <strong>MoveFile</strong> у объекта <strong>FileSystemObject</strong>.</p><div class="codebox"><pre><code>
Option Explicit

Dim fso, fileName
Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)

fileName = &quot;C:\TEST.txt&quot;

&#039;Переименование в нижний регистр
fso.GetFile(fileName).Move LCase(fileName)
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2013-09-17T08:40:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75417#p75417</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBA: Колдунство какое-то...]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75413#p75413" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>inock пишет:</cite><blockquote><p>Потеряли расширение имени файла</p></blockquote></div><p> В настройках Проводника задано &quot;Скрывать расширение для зарегистрированных типов файлов&quot;.</p>]]></content>
			<author>
				<name><![CDATA[shiz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26249</uri>
			</author>
			<updated>2013-09-16T20:45:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75413#p75413</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBA: Колдунство какое-то...]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75411#p75411" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>shiz пишет:</cite><blockquote><p>Может быть для переименования воспользоваться <a href="http://www.script-coding.com/WSH/Shell.html#6.2.9.">Shell.Application</a></p></blockquote></div><p>Колдунство продолжается. Код:<br /></p><div class="codebox"><pre><code>FolderPath = &quot;C:\&quot;

Set objShellApp = CreateObject(&quot;Shell.Application&quot;)
Set objFolder = objShellApp.NameSpace(FolderPath)
Set objFolderItem = objFolder.ParseName(&quot;autoexec.bat&quot;)
wscript.echo objFolderItem.Name
</code></pre></div><p>Под Win7:<br /></p><div class="quotebox"><blockquote><p>C:\TEMP\VBS&gt;cscript 4.vbs<br />Сервер сценариев Windows (Microsoft R) версия 5.8<br />c Корпорация Майкрософт (Microsoft Corp.), 1996-2001. Все права защищены.</p><p>autoexec.bat</p></blockquote></div><p>Под WinXP:<br /></p><div class="quotebox"><blockquote><p>C:\TEMP\VBS&gt;cscript 4.vbs<br />Сервер сценариев Windows (Microsoft R) версия 5.7<br />c Корпорация Майкрософт (Microsoft Corp.), 1996-2001. Все права защищены.</p><p>Autoexec</p></blockquote></div><p>Потеряли расширение имени файла <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p><p>2alexii: Согласен, косяков допустил много, виноват. Как менять тему ветки не разобрался. Адекватного названия для ветки тоже не придумал <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /> Не стебусь, честно.</p>]]></content>
			<author>
				<name><![CDATA[inock]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25049</uri>
			</author>
			<updated>2013-09-16T19:52:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75411#p75411</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBA: Колдунство какое-то...]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75387#p75387" />
			<content type="html"><![CDATA[<p><span style="color: Green"><strong>inock</strong>, я перенёс тему. Измените префикс языка в заголовке темы и дайте самой теме вменяемое название вместо: «Колдунство какое-то...».</span></p><p>Приводите достаточный код. Из приведённого неясно, что такое «FileName» и т.п.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-09-15T14:49:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75387#p75387</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBA: Колдунство какое-то...]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75382#p75382" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>shiz пишет:</cite><blockquote><p>Почему VBA, а не VBS - откуда в VBA wscript.echo?!!</p></blockquote></div><p>Если честно, я тут с ОРЗ сижу, и страшно туплю. Разумеется VBS.</p><br /><div class="quotebox"><cite>shiz пишет:</cite><blockquote><p>Может быть для переименования воспользоваться Shell.Application</p></blockquote></div><p>Да. Спс большое. Так заработало <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[inock]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25049</uri>
			</author>
			<updated>2013-09-15T12:05:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75382#p75382</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBA: Колдунство какое-то...]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75381#p75381" />
			<content type="html"><![CDATA[<p>Почему VBA, а не VBS - откуда в VBA wscript.echo?!!</p><br /><p>Может быть для переименования воспользоваться <a href="http://www.script-coding.com/WSH/Shell.html#6.2.9.">Shell.Application</a> или вызовом cmd.exe</p>]]></content>
			<author>
				<name><![CDATA[shiz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26249</uri>
			</author>
			<updated>2013-09-15T11:03:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75381#p75381</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBA: Колдунство какое-то...]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75380#p75380" />
			<content type="html"><![CDATA[<p>Извиняюсь за панику. Не проснусь что-ли еще? Вот так:</p><div class="codebox"><pre><code> If FileName &lt;&gt; Lcase(FileName) Then
      wscript.echo  FileName
      set f = fso.GetFile(FileName)
      f.name=Lcase(FileName)
   End If</code></pre></div><p>Но, собственно, преобразования к нижнему регистру все равно не происходит.</p><div class="quotebox"><blockquote><p>4254231_E542D0584AF280FF9E29C614527AB40D.GIF<br />C:\TEMP\789\gif\2.vbs(47, 7) Ошибка выполнения Microsoft VBScript: Файл уже существует</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[inock]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25049</uri>
			</author>
			<updated>2013-09-15T10:00:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75380#p75380</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBA: Колдунство какое-то...]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75379#p75379" />
			<content type="html"><![CDATA[<p>Извините, не знаю как обозвать тему. Но я ничего не понимаю. Что не так с кодом?<br /></p><div class="codebox"><pre><code>   If FileName &lt;&gt; Lcase(FileName) Then
      wscript.echo  FileName
      f = fso.GetFile(FileName)
      f.name=Lcase(FileName)
   End If
</code></pre></div><p>И вот такой результат (47 строка - это f.name=Lcase(FileName)): </p><div class="quotebox"><blockquote><p>C:\TEMP\789\gif&gt;cscript 2.vbs<br />Сервер сценариев Windows (Microsoft ®) версия 5.8<br />© Корпорация Майкрософт (Microsoft Corp.), 1996-2001. Все права защищены.</p><p>4254231_E542D0584AF280FF9E29C614527AB40D.GIF<br />C:\TEMP\789\gif\2.vbs(47, 7) Ошибка выполнения Microsoft VBScript: Требуется объект: &#039;C:\TEMP\789\gif\4254&#039;</p></blockquote></div><br /><p>Что не так-то? <span class="postimg"><img src="http://inock.pisem.net/smiles/dntknw.gif" alt="http://inock.pisem.net/smiles/dntknw.gif" /></span><br />Спасибо</p>]]></content>
			<author>
				<name><![CDATA[inock]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25049</uri>
			</author>
			<updated>2013-09-15T09:48:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75379#p75379</id>
		</entry>
</feed>
