Страницы: 1 2 След.
RSS
Макрос и создание пустой директории
 
Друзья.  
Кто может подскажите.  
Нужно сделать макрос для создания пустой директории (или просто дополнительную кнопку вверху таблицы), чтобы значение ячейки сразу записывалось в эту пустую директорию (с любым именем , напр. на с:\хххх.ххх. Далее маркер таблицы переходит в другую ячейку - и то же самое (при нажатии кнопки - создается директория хххх+1.ххх и в нее записывается значение ячейки и так далее. Количество ячеек может быть большое (>30-50шт).  
Спасибо всем кто откликнется.
 
Не очень понял вам надо создать директорию? Т.е. папку? Ваш пример с:\хххх.ххх говорит, что вы хотите создать какой-то файл, а не директорию. Пример директории будет выглядеть так C:\Temp\, а не С:\хххх.ххх. Если вы подразумеваете создать файл, то что значит расширение файла ххх? Это будет текстовый файл со значением ячейки? или это будет файл Excel?
 
Нужно, чтобы при нажатии отдельной кнопки или кнопки макроса, на диске C:\ создавались отдельные (пустые) директории (с любым именем N, N+1,...) в эту директорию записывался файл (ххх.txt)со значением ячейки.  
Важно: в одну  директорию необходимо записывать файл из одной ячейки таблицы.  
Далее, эти созданные директории будут анализироваться и т.д.
 
С папками и файлами разобрались. Вопрос следующий. Какие ячейки сохранять? Например,    
1) все заполненные ячейки в столбце с А1 до А последней вниз  
2) вы ставите курсор на одну ячейку, нажимаете кнопку и значение этой одной ячейки записывается в файл  
3) вы выделяете диапазон ячеек (например, 20 ячеек), нажимаете на кнопку и каждое значение из выделенных 20 сохраняется в отдельный файл  
4) ваше предложение....
 
Спасибо за участие в моей проблеме.  
Сохранение данных должно происходить как и с одной выделенной ячейки, так с выделенными ячейками как по горизонтали, так и по вертикали. Выделение ячейки или ячеек может быть в любом месте листа таблицы.    
Повторю, даже если выделено несколько ячеек, все равно информация каждой ячейки должна размещаться в отдельную директорию.
 
Ну, тогда будем отталкиваться от того, что выделено, то и будем сохранять в отдельные файлы. Пойду попробую что-нибудь написать, может что-нибудь и получится)
 
Макрос написан. См. файл.  
Советую вам сохранять все файлы в отдельную папку, например, C:\Temp\    
Так вам будет легче работать с созданными папками и файлами. Макрос сейчас так и настроен - сохраняет всё в C:\Temp\ (даже если у вас такой папки нет, макрос сам её создаст). Если данная папка не устраивает измените путь к ней в макросе.  
 
Если надо что-нибудь изменить, подкорректировать, исправить ошибки и т.д. в написанном макросе - пишите, поможем.
 
Огромное спасибо за программу.  
Теперь буду пытаться дальше анализировать проблему (отталкиваясь от сделанного макроса). Боюсь быть навязчевой, но хочу спросить заранее. Исходя из сделанного макроса, можно ли усовершеннствовать его. Я имею ввиду с помощью  VB сделать отдельную кнопку, которая размещалась бы на рабочем столе Windows и при нажатии которой, просто создавались бы пустые директории на c:\Temp. Вопрос, которая бы задавала программа при ее запуске: "Сколько директорий открыть?". Это нужно для дальнейшего решения заданной проблемы.    
Если эту программу сложно быстро сделать - помогите советами в каком направлении двигаться.    
Заранее спасибо.
 
Боюсь с кнопкой на рабочем столе Windows не получится, т.к. макрос записан в файле Excel поэтому, чтобы он заработал нужно обязательно открыть файл с макросом. Может другие коллеги с форума ещё что подскажут.
 
ну и повесить на столе ярлык к файлу иксель, в котором записан макрос, который будет автоматически исполняться при загрузке и закрывать потом иксель..  
 
или ярлык к бат-файлу  
или к программе на любом другом языке программирования..
Живи и дай жить..
 
Здравствуйте.  
Написанный макрос удобен, но только в течение одного дня. На следующий день при сохранении данных открываются директории с именами, открытыми накануне. Как сделать имена директорий с текущей датой (напр. 07-12-08-0001, 07-12-08-0002 и т.д.).    
Спасибо.
 
Посмотрите файл.
 
Здравствуйте.  
Работает. Я опять хочу вернуться к просьбе от 06.12.2008, 20:01.  
Я о том, как попробовать усовершеннствовать макрос, чтобы хотя бы и из Excel-я    
при нажатии кнопки макроса на с:\Temp создавались пустые директории (с вопросом: "Сколько директорий открыть?"). Пожалуйста помогите.  
Спасибо.
 
Лично я не очень понимаю ваш вопрос. Может Слэн поможет нам. У него с пониманием лучше, чем у меня.  
 
Я не понимаю следующие:  
 
1) при нажатии кнопки макроса на с:\Temp создавались пустые директории  
- эм... зачем создавались пустые директории? Для чего?  
Мой макрос работает так  
для каждой ячейки в выделенном диапазоне  
а) создаёт папку  
б) создаёт текстовый файл в этой папке  
в) переходит к другой ячейке и возвращается к пункту а)  
 
2) Ваш вопрос макроса: "Сколько директорий открыть?"  
- что значит открыть? Вы хотите сохранить 30 ячеек в разных директориях, а потом мгновенно открыть сразу все 30 директорий?  
 
3) Может вы просто хотите, чтобы при запуске макроса просто задавался запрос "Укажите диапазон ячеек, который необходимо сохранить в текстовые файлы в разные папки?" и чтобы пользователь сам выбирал мышкой диапазон и потом макрос работал с уже указанным диапазоном?
 
Моя просьба (я о создании пустых директорий)с таблицей Excel пока не связана. Это задел для дальнейшего решения задачи (в данном случае маркер может находиться в любой ячейке таблицы и из ячеек ничего считывать не надо).
 
А как должны называться директории? Если на вопрос "Сколько создать директорий?" человек ответит 50. Как называть 50 директорий?
 
Имена пустых директорий (как мы обсудили ранее)- текущая дата +1 (я имею ввиду    
2008.12.07_0001, 2008.12.07_0002 и т.д.).  
Спасибо.
 
См. файл
 
На данный момент это то, что нужно.  
Спасибо большое.
 
Снова я с вопросом.  
Как можно доработать макрос, чтобы можно было ответить уже на два вопроса    
1. сколько директорий открыть?  
2. Имя папки (чтобы можно было присвоить любое имя).  
Все остальное как в файле: post_41807.xls.  
Спасибо.
 
См. файл
 
Последний макрос работает, но к сожалению, он не предлагает присвоить любое имя. Он предлагает выбор места сохранения.    
Спасибо.
 
См. файл
 
Все работает отлично.  
Я снова с вопросом - как изменить макрос, чтобы в нем можно было присваивать уже не стандартные имена (2008.12.08_0001), а произвольные (напр. Вера, Лена и т.д. или любые другие).  
Спасибо.
 
Наталья, признавайтесь, вы хотите меня убить? ) Может сразу выложите всё техническое задание? )  
 
См. файл
 
Наконец сайт заработал. Спасибо, друзья.  
В post_41885.xls все отлично работает.    
Остались маленькие вопросы.  
Один из них. Как и где подправить значения координат окон, появляющихся на экране. Я имею ввиду изменение места расположения на листе окна кнопки и диалоговых окон (например, с правой стороны листа таблицы).    
Спасибо.
 
Кнопку на листе можете сдвинуть так  
1) навести курсор мыши на кнопку  
2) нажать ПРАВУЮ кнопку мыши на кнопке  
- вокруг кнопки появится рамка с точками  
3) ЛЕВОЙ клавишей мыши схватите за рамку кнопки и переместите всю кнопку в сторону  
 
По поводу положения InputBox'ов на листе  
Если вы посмотрите справку по InputBox (т.е. поставите курсор на слове InputBox и нажмёте кнопку F1, то у вас откроется Справка по этому методу) и там можно увидеть следующие  
 
expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)  
 
нас тут интересует четвёртый и пятый аргумент в скобках - Left и Top  
 
Left - отступ от левой стороны экрана  
Top - отступ с верхней стороны экрана  
 
Осмыслив всё выше сказанное дописываем код в макросе для первого InputBox, чтобы получилось вот так  
 
Number = Application.InputBox("Сколько создать папок?", "Создание папок", 1, 500, 100, , , 1)  
 
Где 500 - это отступ слева, а 100 отступ сверху. Запускаем макрос и смотрим, что наше окошко ушло в правую сторону экрана, а дальше играемся с цифрами Left и Top для других InputBox'ов
 
Браво, Pavel55! :)
 
{quote}{login=}{date=25.12.2008 11:37}{thema=Терпение и труд - все перетрут!}{post}Браво, Pavel55! :){/post}{/quote}  
 
Присоединяюсь :)
 
))))  
 
P.S. И сколько я зарекался не помогать девушкам... но иногда не посмотришь на ник, ответишь и понеслась.... и думаешь "ну, нафига я опять подвязался на это???" ))
Страницы: 1 2 След.
Читают тему
Наверх