Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2015, 17:05   #1
Екатерина Попкова
Пользователь
 
Регистрация: 15.03.2014
Сообщений: 34
Сообщение Создание папок VBA Exсel

Добрый день!
Подскажите,пожалуйста,не как не получается с выполнением этого задания:
Во вложении листинг программы на VBA и график сотрудников

Необходимо чтобы с каждым новым днем создавались папки с именами сотрудников,работающих в данную смену.
Как это сделать:В графике xls расположен лист "mails",а ячейке А1 автоматически формируются эл.почты сотрудников,кто работает в это день.Т.е.выделить заполненную ячейку А1 и создать папки с этими именами.Либо на листе "График"выбрать сегодняшний день,так где есть 1 (т.е.там где ячейки заполнены) создать папки с именами сотрудников


Плиз..помогите((Ответ нужно как можно быстрее (готова заплатить!)

Есть пример,ниже,но разобраться не могу((

Option Explicit

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Sub tt()
Const ROOT = "d:\" 'заменить на свой путь
Dim c, strDate$
strDate = Format(Now, "dd.mm.yyyy" & "г.")
Set c = [b2:af2].Find(Day(Now))
For Each c In Range(Cells(3, c.Column), Cells(Rows.Count, c.Column).End(xlUp)).Cells
If c.Row > 2 Then
If c.Value Then
MakeSureDirectoryPathExists ROOT & strDate & "\" & Cells(c.Row, 1).Value & "\"
End If
End If
Next
End Sub
Изображения
Тип файла: jpg 1.jpg (73.7 Кб, 134 просмотров)
Тип файла: jpg 2.jpg (96.4 Кб, 123 просмотров)
Вложения
Тип файла: txt Листинг5-окончательный вариант(26.03.15).txt (2.2 Кб, 133 просмотров)
Екатерина Попкова вне форума Ответить с цитированием
Старый 19.04.2015, 17:17   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Так пример кода вроде рабочий

можно еще так попробовать:
Код:
Sub tt()
    Const ROOT = "d:\"        'заменить на свой путь
    Dim c, strDate$
    strDate = Format(Now, "dd.mm.yyyy" & "г.")
    Set c = [b2:af2].Find(Day(Now))
    For Each c In Range(Cells(3, c.Column), Cells(Rows.Count, c.Column).End(xlUp)).Cells
        If c.Row > 2 Then
            If Val(c.Value) > 0 Then
                On Error Resume Next
                MkDir ROOT & strDate & "\"
                MkDir ROOT & strDate & "\" & Cells(c.Row, 1).Value & "\"
            End If
        End If
    Next
End Sub
не понял, в чем конкретно вам нужна помощь...
EducatedFool вне форума Ответить с цитированием
Старый 19.04.2015, 17:27   #3
Екатерина Попкова
Пользователь
 
Регистрация: 15.03.2014
Сообщений: 34
По умолчанию

Да,код рабочий,но мне нужно подогнать этот код под свою программу,исходя из графика xls
в графике xls расположен лист "mails",а ячейке А1 автоматически формируются эл.почты сотрудников,кто работает в это день.Т.е.выделить заполненную ячейку А1 и создать папки с этими именами.Либо на листе "График"выбрать сегодняшний день,так где есть 1 (т.е.там где ячейки заполнены) создать папки с именами сотрудников

Как с помощью этого документы xls сделать?Думаю легче отправить сам документ xls,а не картинки (чтобы было понятнее)?Или напишите как можно с вами связать (чтобы не было долгой переписки)
Екатерина Попкова вне форума Ответить с цитированием
Старый 19.04.2015, 20:56   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Было уже - но так и не поняли что нужно...
http://www.programmersforum.ru/showthread.php?t=275249
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.04.2015, 21:22   #5
Екатерина Попкова
Пользователь
 
Регистрация: 15.03.2014
Сообщений: 34
По умолчанию

По заданию необходимо создать новые папки с именами сотрудников
В документе xls есть график сотрудников,посменно(т.е. число 1 означает что он выходит на работу)Допустим что сегодня 19 апреля,из графика видно что 19 апреля на работу выходя 2 человека:Скорик и Кузнецов.Вот для этих 2-ух человек и нужно создать 2 папки(наименование папки:фамилия сотрудника).Завтра 20апреля,значит на завтра нужно создать новые папки,только для других сотрудников(исходя из графика xls).Каждый день должны создаваться новые папки с именами сотрудников

Думаю так понятнее объяснила...)
Пожалуйста,помогите решить эту задачку,в долгу не останусь))
Екатерина Попкова вне форума Ответить с цитированием
Старый 19.04.2015, 21:37   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

папки Скрик и Кузнецов необходимо создать в папке 19.04.2015, так?

а где необходимо создать папку 19.04.2015? или где ее искать?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.04.2015, 21:38   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Так если код рабочий - что нужно то?
Если лишняя дата в пути - ну уберите...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.04.2015, 21:49   #8
Екатерина Попкова
Пользователь
 
Регистрация: 15.03.2014
Сообщений: 34
По умолчанию

Поместить эти новые папки :Кузнецов и Скорик можно на рабочем столе (без разнице где)Главное в паку с новой датой 19.04.2015г.

Сегодня 19 апреля,значит на рабочем столе должна быть папка с именем :19.04.2015,заходим в эту папку и видим 2 новые папки с именами :Скорик и Кузнецов

Как только настанет завтрашний день,20 апреля 2015г.,на рабочем столе снова должна быть папка с именем :20.04.2015,заходим в эту папку и видим новые папки с именами новых сотрудников (исходя из графика xls)

И так на каждый день на каждый день...


P.S.Hugo121.На примере который Вы написали немного другое,если сможе исправьте,по моему заданию.Вроде оно легкое,но исправить не могу(либо до конца не понела либо сообразительности не хватило),поэтому Вашей помощи попросила...
Екатерина Попкова вне форума Ответить с цитированием
Старый 19.04.2015, 21:50   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Игорь, смотри.
простая задача - убери лишний пункт:

1. ランド
2. 水を
3. ウォッカ
4. 火災
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.04.2015, 22:04   #10
Екатерина Попкова
Пользователь
 
Регистрация: 15.03.2014
Сообщений: 34
По умолчанию

У меня появляются иероглифи((где 1,2,3,4 возможно Вы написали в другом наборе символов,у меня не отображается((

1. ランド
2. 水を
3. ウォッカ
4. 火災
____________
Изображения
Тип файла: jpg 2.jpg (93.2 Кб, 135 просмотров)
Екатерина Попкова вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cоздание папок VBA Excel Екатерина Попкова Microsoft Office Excel 8 29.03.2015 19:35
Программа в Exсel с помощу VBA mr.art Фриланс 0 27.03.2014 19:53
Копирование картинок и создание папок VBA STYDENT13 Microsoft Office Excel 5 24.05.2012 01:05
создание папок CodeNOT PHP 1 21.03.2011 09:41
Создание папок. Alex Cones Общие вопросы Delphi 5 18.04.2009 15:32