<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; СДелать текущей папку на сетевом ресурсе]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=16175</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=16175&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «СДелать текущей папку на сетевом ресурсе».]]></description>
		<lastBuildDate>Wed, 17 Mar 2021 15:08:32 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: СДелать текущей папку на сетевом ресурсе]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=146776#p146776</link>
			<description><![CDATA[<p><strong>Xameleon</strong><br />Спасибо за понимание.<br />ВОт по этим самым граблям я и нагулялся.<br />Если не менять текущую директорию, закашляешься пути клеить к именам файлов.<br />Всем спасибо!! Снято!</p>]]></description>
			<author><![CDATA[null@example.com (Dbeer)]]></author>
			<pubDate>Wed, 17 Mar 2021 15:08:32 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=146776#p146776</guid>
		</item>
		<item>
			<title><![CDATA[Re: СДелать текущей папку на сетевом ресурсе]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=146764#p146764</link>
			<description><![CDATA[<p><strong>alexii</strong>, изначально тоже самое подумал. Давно не связывался с VBA, поэтому решил провести эксперимент. <br />Положил в сетевую папку &quot;<strong>\\server\test\</strong>&quot; 2 файла - <strong>test.xlsm</strong> и <strong>test.txt</strong><br />В <strong>test.xlsm</strong> вставил код<br /></p><div class="codebox"><pre><code>
Sub Main()
    Debug.Print CurDir
End Sub
</code></pre></div><p>Запустил. Думал, что должен вернуться текущий путь <strong>\\server\test\</strong>, а возвращается путь до документов в профиле пользователя - &quot;<strong>%userprofile%\Documents</strong>&quot;<br />Следовательно и функции работы с файлами видят файлы в папке документов, вместо файлов по пути размещения эксельного файла.<br />Поэтому я решил предложить сменить каталог теми способами, что выше.</p><p>Возможно есть решение лучше ?</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Mon, 15 Mar 2021 18:53:58 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=146764#p146764</guid>
		</item>
		<item>
			<title><![CDATA[Re: СДелать текущей папку на сетевом ресурсе]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=146760#p146760</link>
			<description><![CDATA[<p><strong>Dbeer</strong>, это ж не пакетные файлы. Зачем вообще менять текущий каталог?!</p><p>Для всего этого:<br /></p><div class="quotebox"><cite>Dbeer пишет:</cite><blockquote><p>Мне надо работать с сопутствующими файлами, лежащими &quot;рядом&quot; с ActiveWorkbook (в той же папке) - искать их там, переименовывать, лезть в подпапки.</p></blockquote></div><p>смена текущего каталога совершенно не требуется.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 15 Mar 2021 15:53:51 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=146760#p146760</guid>
		</item>
		<item>
			<title><![CDATA[Re: СДелать текущей папку на сетевом ресурсе]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=146756#p146756</link>
			<description><![CDATA[<p><strong>Dbeer</strong>, не уверен, что это оптимальное решение, но попробуйте так:</p><div class="codebox"><pre><code>
Sub Main()
    CreateObject(&quot;WScript.Shell&quot;).CurrentDirectory = ActiveWorkbook.Path
    Dim strFileName$
    strFileName = Dir(CurDir &amp; &quot;\&quot;, vbNormal Or vbHidden Or vbSystem Or vbReadOnly)
    While (strFileName &lt;&gt; &quot;&quot;)
        Debug.Print strFileName
        strFileName = Dir()
    Wend
End Sub
</code></pre></div><p>либо так</p><div class="codebox"><pre><code>
#If VBA7 Then
    Private Declare PtrSafe Function SetCurrentDirectory Lib &quot;kernel32&quot; _
        Alias &quot;SetCurrentDirectoryA&quot; (ByVal lpPathName As String) As Long
#Else
    Private Declare Function SetCurrentDirectory Lib &quot;kernel32&quot; _
        Alias &quot;SetCurrentDirectoryA&quot; (ByVal lpPathName As String) As Long
#End If

Sub Main()
    SetCurrentDirectory ActiveWorkbook.Path
    Dim strFileName$
    strFileName = Dir(CurDir &amp; &quot;\&quot;, vbNormal Or vbHidden Or vbSystem Or vbReadOnly)
    While (strFileName &lt;&gt; &quot;&quot;)
        Debug.Print strFileName
        strFileName = Dir()
    Wend
End Sub
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Mon, 15 Mar 2021 08:44:04 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=146756#p146756</guid>
		</item>
		<item>
			<title><![CDATA[Re: СДелать текущей папку на сетевом ресурсе]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=146754#p146754</link>
			<description><![CDATA[<p>Сам нашел решение, но не нравится:<br />На компах юзеров сетевой ресурс цепляю сетевым диском по схеме:<br />net use U: &quot;\\Server03\Папка&quot;<br />Далее все работает, как хотелось.<br />Но можно ли без таких реверансов?</p>]]></description>
			<author><![CDATA[null@example.com (Dbeer)]]></author>
			<pubDate>Mon, 15 Mar 2021 08:02:54 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=146754#p146754</guid>
		</item>
		<item>
			<title><![CDATA[СДелать текущей папку на сетевом ресурсе]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=146752#p146752</link>
			<description><![CDATA[<p>Приветствую, коллеги.<br />Вот кусок окна Immediate^</p><div class="codebox"><pre><code>? CurDir()
E:\Мои документы
? ActiveWorkbook.Path
\\SERVER03\E-DOC
ChDir &quot;\\SERVER03\E-DOC&quot;
ChDrive &quot;\\SERVER03\E-DOC&quot;</code></pre></div><p>1. Открываю .xls на сетевом ресурсе.<br />ActiveWorkbook.Path = \\SERVER03\E-DOC</p><p>2. Текущая папка CurDir() =E:\Мои документы</p><p>3. Делаю ChDir &quot;\\SERVER03\E-DOC&quot; - нет результата см. п.2<br />4. ChDrive &quot;\\SERVER03\E-DOC&quot; - ошибка. Он глотает только однобуквенные литералы.</p><p>Мне надо работать с сопутствующими файлами, лежащими &quot;рядом&quot; с ActiveWorkbook (в той же папке) - искать их там, переименовывать, лезть в подпапки.</p><p>Как сфокусировать файловую систему на &quot;ActiveWorkbook.Path&quot; так, чтобы эта папка стала CurDir?<br />Заранее благодарен.</p>]]></description>
			<author><![CDATA[null@example.com (Dbeer)]]></author>
			<pubDate>Mon, 15 Mar 2021 06:36:58 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=146752#p146752</guid>
		</item>
	</channel>
</rss>
