Страницы: 1
RSS
Относительные пути в макросе при сохранении файлов
 
Уважаемые матера екселя,подскажите пожалуйста, можно ли в коде макроса который  должен сохранять файл в определенную папку к примеру она называется  «Клиент» сформулировать  (указать) относительный путь сохранения файла в эту папку.    
Она же в свою очередь находится в папке «Заказ»  
 
Папки  заказ -> клиент являются постоянными, а вот папка заказ может находиться в свою очередь  
в директориях под разными именами.  
 
Например  структура папок до папки заказ :  
 
Имя диска (может быть разное в зависимости от компьютера пользователя) - > Папка 1 (может быть под другим именем) -> Папка2 (так же может иметь другое имя) -> Папка «Заказ» (постоянное имя) -> Папка «Клиент» (Постоянное имя)  
 
У меня в макросе прописан абсолютный путь сохранения файла начиная с D:\Папка1\Папка2\Заказ\Клиент  
 
Возможен ли вариант сохранения книги по пути относительно папки Заказ игнорируя путь D:\Папка1\Папка2… ?  
 
Или такое в екселе невозможно?
 
не совсем понятна формулировка - а на что опираться при определении "переменной" части пути?
 
{quote}{login=webley}{date=13.10.2010 02:01}{thema=}{post}не совсем понятна формулировка - а на что опираться при определении "переменной" части пути?{/post}{/quote}  
 
Перечитала сообщение свое, даж не знаю как и сформулировать более понятно...  
если бы я знала на , что опираться переменной то сформулировала бы :(
 
{quote}{login=The_Prist}{date=13.10.2010 02:08}{thema=}{post}Если VBA не будет знать начального пути, то и конечного Вы не получите. Это все равно что поехать на экскурсию в горы Абхазии, не зная откуда начать экскурсию и куда должен прехать автобус. Угадайте, куда предете? И когда....  
 
Одним словом: надо все равно от чего-то отталкиваться. Может Ваш макрос запускается из книги, которая расположена в какой-то папке, которую можно приплести к нужному пути?{/post}{/quote}  
 
Макрос находится в персонале. Постоянными являются только папки Заказ и в ней под папка Клиент, а вот папки в которых находятся папка Заказ могут быть под разными именами Москва, Питер к примеру и тп...
 
Вообщем принцип относительных путей как Html в VBA не предусмотрен :) это и понятно. Эх, а жаль...оч удобно было бы
 
{quote}{login=The_Prist}{date=13.10.2010 02:19}{thema=Re: }{post}{quote}{login=Лариса}{date=13.10.2010 02:16}{thema=}{post}Вообщем принцип относительных путей как Html в VBA не предусмотрен :) это и понятно. Эх, а жаль...оч удобно было бы{/post}{/quote}Не надо путать. Там тоже не относительные. Там если не указан явный путь, то берется путь к папке, в которой сам файл. Так что Вы заблуждаетесь в части полной относительности путей в HTML.  
И здесь так же: если сам файл с макросом будет расположен в какой-то известной папке, то можно проследить весь путь данной директории.{/post}{/quote}  
 
То есть если макрос находится в персонале, нет никакой возможности сформулировать путь сохранения файла (он находится в папке Заказ), в папку Клиент игнорируя отрезок пути от Имя Диска до папки Заказ?
 
{quote}{login=The_Prist}{date=13.10.2010 02:25}{thema=Re: Re: Re: }{post}{quote}{login=Лариса}{date=13.10.2010 02:24}{thema=Re: Re: }{post}То есть если макрос находится в персонале, нет никакой возможности сформулировать путь сохранения файла (он находится в папке Заказ), в папку Клиент игнорируя отрезок пути от Имя Диска до папки Заказ?{/post}{/quote}Именно. Если, конечно, PERSONAL не расположен в одной из этих папок...  
 
Я не пойму: а почему нельзя организовать диалоговое окно выбора файлов или директории?{/post}{/quote}  
 
Дело в том, что папки Заказ и Клиент лежат очень глубоко. Папка Заказ в Папке Имя, Имя в Город, Город в Страна, Страна в папке Тип, Тип в Папке Раздел, Раздел в Тема, Тема в Профиль. Некоторые особо мыслящие операционисты обязательно файл с заказом загонят не туда куда надо. А диалоговое окно по любому воткнется не далее как в папку Профиль... Или я что-то не так мыслю?
 
Хорошо... А если макрос находится в сохраняемом файле, подскажите как представить путь сохранения?
 
{quote}{login=The_Prist}{date=13.10.2010 02:47}{thema=}{post}Путь к директории файла с макросами:  
msgbox ThisWorkbook.Path{/post}{/quote}  
 
Извините пожалуйста за тупость, не поняла я что-то... а куда это?  
У меня например абсолютный путь был таков  
ActiveWorkbook.SaveAs "D:\Страна\Город\Заказ\Клиент\" & Range("C2") & Range("D2") & ".xls"  
А как Ваш фрагмент применить если файл с макросом находится в папке Заказ и должен быть сохранен в подпапку Клиент?
 
{quote}{login=The_Prist}{date=13.10.2010 03:55}{thema=}{post}Да уж....  
 
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\Клиент\" & Range("C2") & Range("D2") & ".xls"{/post}{/quote}  
 
Спасибо Вам)
Страницы: 1
Читают тему
Наверх