|
24.10.2020 12:52:00
@Andrey VG и PooHkrd , спасибо вам огромное |
|||
|
|
|
|
23.10.2020 20:36:36
Никак не пойму как работает эта штука :(
Изменено: - 23.10.2020 20:39:17
|
|||||
|
|
|
|
02.09.2020 19:57:28
Оригинальная задача ниже в сообщении.
Изменено: - 02.09.2020 21:41:05
|
|||
|
|
|
|
02.09.2020 17:45:50
buchlotnik,Спасибо!
|
|
|
|
|
|
02.09.2020 17:33:41
buchlotnik, подскажите пожалуйста еще такой нюанс, как сделать так, чтобы эту формулу можно было использовать для вычисления значения в ячейке в столбце П как на картинке
Сейчас на картинке вычисление в столбце П не верное, так как Condition ДЛЯ КАЖДОЙ строки проверяет [i] по фиксированной строке
А нужно , как - то сделать так, чтобы для каждой строки выдавался свой список. То есть, для строки с Индексом 1 , нужен список составленный по Condition
Для строки с Индексом 2 , нужен список составленный по Condition
Для строки с Индексом 3 , нужен список составленный по Condition
Для строки с Индексом 4 , нужен список составленный по Condition
![]()
Изменено: - 02.09.2020 17:35:47
|
|||||||||||||
|
|
|
|
02.09.2020 17:01:28
Как же так? Допустим считаем Первая итерация: 1. ()=>[s=1,i=0,n=1] - initial 2. each [i]<6 - Condition вернул True 3. переходим к третьему параметру функции List.generate под названием Next = each [i=[i]+1,n=[s]+1,s=[s]+n] . То есть, на выходе next вернет список [i=1, n=2, s = 3] 4.вычисляется 4й параметр функции List.generate под названием Selector = each [n]. То есть, вернется [n] =2 , так как в третьем шаге функция next вернула [n] =2 , То есть, получается , что по такой логике первая итерация вернет нам 2 , а на самом деле возвращает 1... |
|||
|
|
|
|
02.09.2020 16:13:24
Прочитал вот эту статью по List.Generate ... Стало понятнее,но не до конца. List.Generate(()=>[s=1,i=0,n=1], each [i]<6,each [i=[i]+1,n=[s]+1,s=[s]+n], each [n]) Я так понимаю: 1. ()=>[s=1,i=0,n=1] - это Функция initial , которая не имеет аргументов и ее вычисленное значение равно значению выражения, указанного внутри нее, то есть s=1 i=1 n=1 Не подскажете , почему здесь квадратные скобки []? 2. each [i]<6 - Это функция Condition , которая принимает на вход s=1 i=1 n=1 из функции inital в предыдущем шаге и проверяет для каждой строки (each) условие [i]<6 3.если Condition на шаге 2 вернул True, то вычисляется 4й параметр функции List.generate под названием Selector = each [n]. Функция Selector вычисляет следующий элемент списка. В нашем случае 2й элемент списка будет равен 1 , так как из 1го шага пришел [n] =1 4. если Condition на шаге 2 вернул True , то переходим к третьему параметру функции List.generate под названием Next = each [i=[i]+1,n=[s]+1,s=[s]+n] . Функция Next вычисляет следующие значения параметров s i n для использования их заново во 2м и 3м шаге. То есть, на выходе next вернет список [i=1, n=2, s = 3] и мы снова идем на 2й шаг , проверять условие each[i] <6 Поправьте пожалуйста, если я где-то ошибаюсь в рассуждениях |
|||
|
|
|
|
02.09.2020 15:17:06
|
|||
|
|
|
|
02.09.2020 14:25:18
|
|||
|
|
|
|
01.09.2020 01:11:21
Вот такой код не работает И еще вы сказали, что можно сделать обработку ошибок , если к примеру у меня ошибка появляется на уровне слияния запросов из-за того, что например в одном запросе поменялись какие-то источники (поменялся состав столбцов в файлу одного запроса) ... Не сочтите за наглость , но как это прописать?
|
|||||
|
|
|
|
31.08.2020 22:03:43
|
|||
|
|
|
|
03.04.2020 13:23:47
Александр Макаров,
Единственный минус такого решения - это то, что даже когда программа аутлук запущена на компе, но само окно не активно, то когда приходят новые письма, макрос события не реагирует. В итоге, в аутлуке видно , что новое письмо с вложением пришло, оно имеет статус "Не прочтенное" , но вложения из этого письма не копируются в папку на компе, так как макрос не запустился из-за того, что окно аутлука не активно. Приходится активировать окно аутлука и ждать пока придет какое-нибудь новое письмо, что запустился макрос.
|
|||
|
|
|
|
03.04.2020 00:24:01
Александр Макаров,
Всё работает! Сделал как вы сказали. Код основного модуля:
Код внутри ThisOutloksession
Спасибо за помощь! |
|||||
|
|
|
|
02.04.2020 22:46:34
Юрий М, прошу извинить. Больше размещать тут ничего не буду.
|
|
|
|
|
|
02.04.2020 22:34:07
Александр Макаров, спасибо за наводку.
Пойду допиливать дальше. Что получится выложу тут |
|
|
|
|
|
02.04.2020 22:30:18
Юрий М, я же написал, что шучу?
К тому же, на этом форуме я видел вопросы по макросам относящимся к Аутлуку. Почему претензия ко мне? |
|
|
|
|
|
02.04.2020 22:14:21
vikttur,
формально-буквенная связь с Эксель есть, я же копирую только экселевские файлы из аутлука в папку на компе:) Шучу, не сердитесь. |
|
|
|
|
|
02.04.2020 20:44:29
Всем доброго времени суток!
Есть ежедневный отчет в виде файлов Эксель , который падает в яндекс-почту, ну или в Outlook на компе завязанный на Яндекс-почту. Эти файлы приходится вручную перетаскивать в папку на компе или в облаке , чтобы Power BI тоже ежедневно забирал их оттуда и обновлял свои дэшборды. Кто знает, как сделать так, чтобы эти Эксель файлы приходящие в аутлук сразу при получении автоматом падали в специальную папку на компе (в данном случае адрес папки D:\YandexDisk\YandexDisk\ info_mail.ru ) ? Чтобы не перетаскивать их вручную? Отчеты всегда приходят с одного адреса info_mail.ru и падают в папку под номером 11 в учетной записи account_ya.ru (здесь и далее знак _ подразумевает @ ) Отчеты приходят на конкретную учетную запись с именем account_ya.ru (в аутлуке есть несколько учетных записей, но вложения нужно копировать , только из писем приходящих на конкретно одну учетную запись) Аутлук всегда открыт на компе. Помогите пожалуйста допились код, чтобы файлы автоматом падали в папку при получении нового письма от info_mail.ru на аккаунт account_ya.ru Внизу рабочий макрос Sub saveAttachtoDisk(), который я скомпановал из разных кусков и он прекрасно работает , если его запускать руками. (второй макрос Sub Учетки_и_папки() - это чисто вспомогательный макрос от уважаемого The Priest для определения номеров папок и номеров учеток в аутлуке) Нужно сделать так , чтобы мой макрос Sub saveAttachtoDisk() срабатывал бы как правило в аутлуке при приходе новой почты. Я попытался добавить параметр внутрь процедуры Sub saveAttachtoDisk( myItem as MailItem) ) ,чтобы можно было этот скрипт выбирать для создания правила в аутлуке (как вот тут рекомендуют ). Скрипт стало можно выбирать, но тогда макрос не срабатывает. Ничего никуда не копирует.... Не могу понять, как из моего макроса сделать рабочий скрипт для правила в аутлуке. Объясните плиз кто разбирается. Спасибо.
Изменено: - 02.04.2020 20:45:33
|
|||
|
|
|



