Доброго дня всем. Кто-нибудь, что-нибудь, когда-нибудь, пытался "изобразить" в VBA "под" Microsoft Project профессиональный 2013? Или возможно кто-то что-то слышал "от третьих лиц о подобных вещах"?
Доброго дня всем. Кто-нибудь, что-нибудь, когда-нибудь, пытался "изобразить" в VBA "под" Microsoft Project профессиональный 2013? Или возможно кто-то что-то слышал "от третьих лиц о подобных вещах"?Юрий_Нд
Сообщение отредактировал Юрий_Нд - Четверг, 09.11.2017, 10:40
Скачал, поставил, изобразил "Hello, word!" на открытие проекта. Макрорекодер тут есть, что-то даже пишет. Теперь у меня вопрос - а вопрос-то в чём?
Цитата
пытался "изобразить"
Скачал, поставил, изобразил "Hello, word!" на открытие проекта. Макрорекодер тут есть, что-то даже пишет. Теперь у меня вопрос - а вопрос-то в чём?buchlotnik
Доброго дня buchlotnik. Очень рад, что Вы откликнулись на мою просьбу.
Задачи 1-3 разбиты на подзадачи а и б. Длительность выполнения каждой задачи определяется суммированием длительности подзадач. Например длительность выполнения задач 1-3, соответственно: 2+5=7, 3+6=9, 7+4=11. В данном случае общая длительность выполнения задачи 1-3 я выполнил самостоятельно. Но хотелось бы, чтобы это сделал ВБА.
С благодарностью ______________ Юрий.
Внешняя ссылка удалена администрацией - это нарушение п.3 Правил форума
Доброго дня buchlotnik. Очень рад, что Вы откликнулись на мою просьбу.
Задачи 1-3 разбиты на подзадачи а и б. Длительность выполнения каждой задачи определяется суммированием длительности подзадач. Например длительность выполнения задач 1-3, соответственно: 2+5=7, 3+6=9, 7+4=11. В данном случае общая длительность выполнения задачи 1-3 я выполнил самостоятельно. Но хотелось бы, чтобы это сделал ВБА.
Доброго дня Уважаемая Администрация форума. Прошу прощения, что нарушил правила форума. Правила формы еще раз перечитал и прошу поправить меня если я и в данном случае что-то делаю "не так", обращаясь к Вам с просьбой помочь мне в очередном посте моей темы. Да, я честно пытался приложить файл с помощью внутренний ссылки, но у меня ничего не получилось, так как файл был "не Экселевский", с размером 230 кБ. Поэтому я и использовал внешнюю ссылку. Да я поступил неправильно, но прошу помочь мне и подсказать, как это сделать "правильно". С благодарностью ______________ Юрий
Доброго дня Уважаемая Администрация форума. Прошу прощения, что нарушил правила форума. Правила формы еще раз перечитал и прошу поправить меня если я и в данном случае что-то делаю "не так", обращаясь к Вам с просьбой помочь мне в очередном посте моей темы. Да, я честно пытался приложить файл с помощью внутренний ссылки, но у меня ничего не получилось, так как файл был "не Экселевский", с размером 230 кБ. Поэтому я и использовал внешнюю ссылку. Да я поступил неправильно, но прошу помочь мне и подсказать, как это сделать "правильно". С благодарностью ______________ ЮрийЮрий_Нд
Сообщение отредактировал Юрий_Нд - Вторник, 14.11.2017, 02:58
Ну, скачал я какой-то кривой Project и у меня нет кириллицы в коде - извиняйте: на запуск макроса (по Alt+F8 - как обычно) идут подряд три inputbox-а - имя новой задачи, длительность первой и второй подзадач - он добавляет [vba]
Код
Sub Macro1() n = InputBox("Input Name of the New task") a = CInt(InputBox("Input duration of subtask a")) b = CInt(InputBox("Input duration of subtask b"))
Set oTask = ActiveProject.Tasks.Add(n) Application.SetTaskField "Number1", a, , , oTask.ID Application.SetTaskField "Number2", b, , , oTask.ID Application.SetTaskField "Duration", oTask.Number1 + oTask.Number2, , , oTask.ID End Sub
[/vba]
а если задачи уже вбиты - можно вот так в цикле пройтись: [vba]
Код
Sub macro2() For Each tsk In ActiveProject.Tasks Application.SetTaskField "Duration", tsk.Number1 + tsk.Number2, , , tsk.ID Application.SetTaskField "Task mode", "No", , , tsk.ID Next End Sub
[/vba]
короче - инфы в инете масса, макрорекодер работает - экспериментируйте
Ну, скачал я какой-то кривой Project и у меня нет кириллицы в коде - извиняйте: на запуск макроса (по Alt+F8 - как обычно) идут подряд три inputbox-а - имя новой задачи, длительность первой и второй подзадач - он добавляет [vba]
Код
Sub Macro1() n = InputBox("Input Name of the New task") a = CInt(InputBox("Input duration of subtask a")) b = CInt(InputBox("Input duration of subtask b"))
Set oTask = ActiveProject.Tasks.Add(n) Application.SetTaskField "Number1", a, , , oTask.ID Application.SetTaskField "Number2", b, , , oTask.ID Application.SetTaskField "Duration", oTask.Number1 + oTask.Number2, , , oTask.ID End Sub
[/vba]
а если задачи уже вбиты - можно вот так в цикле пройтись: [vba]
Код
Sub macro2() For Each tsk In ActiveProject.Tasks Application.SetTaskField "Duration", tsk.Number1 + tsk.Number2, , , tsk.ID Application.SetTaskField "Task mode", "No", , , tsk.ID Next End Sub
[/vba]
короче - инфы в инете масса, макрорекодер работает - экспериментируйтеbuchlotnik
Подскажите, где Вы нашли термин "Duration"? 1. Хочу проверить. может быть в моём Project-е эта колонка называется как-то иначе? 2. И еще. Возможно ли как-то посмотреть список Ваших библиотек и сравнить его с моим списком?
В первой процедуре ситуация аналогична, не воспринимается эта строчка Project -ом. Добавил свои три строчки. [vba]
Код
c = a + b Application.SetTaskField "Number3", c, , , oTask.ID Application.SetTaskField "Duration", c, , , oTask.ID
[/vba] Первые две воспринимаются нормально. А вот третья... [vba]
Подскажите, где Вы нашли термин "Duration"? 1. Хочу проверить. может быть в моём Project-е эта колонка называется как-то иначе? 2. И еще. Возможно ли как-то посмотреть список Ваших библиотек и сравнить его с моим списком?Юрий_Нд
Сообщение отредактировал Юрий_Нд - Среда, 15.11.2017, 22:55
дык см. сообщение №3 - макрорекодер; а далее - вот MSDN, вот пример использования - у всех всё работает - отстаньте уже от моих библиотек (у меня кривой 2010 Project EN)
Цитата
где Вы нашли
дык см. сообщение №3 - макрорекодер; а далее - вот MSDN, вот пример использования - у всех всё работает - отстаньте уже от моих библиотек (у меня кривой 2010 Project EN)buchlotnik
"Хорошо". Если я Вам всё-таки окончательно не надоел, что же Вы мне можете предложить? У меня, пока что только 2 варианта: 1. Снять "киношку" про то, как я всё это делаю (но тогда точно без внешней ссылки не обойтись). И как у меня выскакивает это сообщение. Может быть что-то увидите и поправите мои кривые руки? 2. Скачать Ваш кривой Project. Но в этом случае я должен попросить у Вас ссылку, где Вы взяли Ваш "кривой Project". С уважением и благодарностью _______ Юрий. п.с. Ещё, как вариант, дать Вам "на обследование" мой, возможно действительно кривой Project.
"Хорошо". Если я Вам всё-таки окончательно не надоел, что же Вы мне можете предложить? У меня, пока что только 2 варианта: 1. Снять "киношку" про то, как я всё это делаю (но тогда точно без внешней ссылки не обойтись). И как у меня выскакивает это сообщение. Может быть что-то увидите и поправите мои кривые руки? 2. Скачать Ваш кривой Project. Но в этом случае я должен попросить у Вас ссылку, где Вы взяли Ваш "кривой Project". С уважением и благодарностью _______ Юрий. п.с. Ещё, как вариант, дать Вам "на обследование" мой, возможно действительно кривой Project.Юрий_Нд
Сообщение отредактировал Юрий_Нд - Четверг, 16.11.2017, 02:19