Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 9449 Skopiuj do schowka data z Excela, przypomnienie w kalendarzu Outlooka
Autor Wiadomość
Servus
świeżak


Posty: 3
Wysłany: 2008-10-20, 20:48   data z Excela, przypomnienie w kalendarzu Outlooka

pytanie pewnie z kategorii prostych ale w FAQ nie znalazłem. mam w arkuszu zestawienie płatności z ich terminami oczywiscie. Jak zadziałać, żeby 1 dzień przed terminem wyskakiwało przypomnienie w outlooku?
ID posta: 48982 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

rodzyneek 
Exceloholic



Pomógł: 28 razy
Posty: 156
Wysłany: 2008-10-20, 21:43   

do poniższego makra można ustawić różne warunki i tak dalej ale sama zasada tworzenia przypomnienia wyglada tak:
Kod:
Sub outllok_przypomnienie()
Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    Set przypomnienie = OutApp.CreateItem(1)
    On Error Resume Next
    With przypomnienie
    .Start = "2008-10-20 22:00" '<- początek zdarzenia - możesz podać odwołanie do komorki w tórej znajduje się data i godzina np. range("A1")
    .End = Range("A2") 'tak jak wyżej tylko że zakończenie zdarzenia
    .AllDayEvent = False '<- czy wydarzenie całodzienne true/fales
    .Subject = "przykładowe przypomnienie" '<- temat
    .Body = "jakaś treść" '<-treść
   
    .ReminderMinutesBeforeStart = 15 '<- przypomnienie 15 min. (podawane w minutach)
    .ReminderSet = True '<-potwierdzenie ustawienia przypomnienia
    .Save '<- zapis
    End With
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
        With Application
        .ScreenUpdating = True
        .EnableEvents = True
        End With
   
End Sub
ID posta: 48986 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

Servus
świeżak


Posty: 3
Wysłany: 2008-10-20, 21:56   

rodzyneek! dzięki za podpowiedz, sorry że męczę, ale nie chciałem jużw pierwszym moim poście robić burzy w szklance wody. Pracuje na macu z neo office (wiem że to forum excel). Kalendarz outlook współpracuje świetnie z macowym ical'em, masz moze jakies doswiadczenie w tym wzgledzie? Jak w Neo office wrzuce to makro, a outlooka zastapie iCal.app zadziała? Wiem, że to pytanie z cyklu "niech zrobi to ktos za mnie" ale szczerze mowie jestem słaby w te klocki, nie chciałbym siedziec całą noc nad czymś, co inni z góry wiedzą że sie nie uda. dzięki i powodzenia
ID posta: 48987 Skopiuj do schowka
 
 
rodzyneek 
Exceloholic



Pomógł: 28 razy
Posty: 156
Wysłany: 2008-10-20, 22:01   

niestety nie mam takiego doświadczenia ale najlepiej bedzie jak sprobujesz ;-)
i daj znac czy działa
ID posta: 48988 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

Servus
świeżak


Posty: 3
Wysłany: 2008-10-20, 22:05   

dzięki ;-)
ID posta: 48989 Skopiuj do schowka
 
 
brachu
EXCELent Man


Pomógł: 1 raz
Posty: 144
Wysłany: 2008-11-13, 14:21   

rodzyneek napisał/a:
do poniższego makra można ustawić różne warunki i tak dalej ale sama zasada tworzenia przypomnienia wyglada tak:
Kod:
Sub outllok_przypomnienie()
Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    Set przypomnienie = OutApp.CreateItem(1)
    On Error Resume Next
    With przypomnienie
    .Start = "2008-10-20 22:00" '<- początek zdarzenia - możesz podać odwołanie do komorki w tórej znajduje się data i godzina np. range("A1")
    .End = Range("A2") 'tak jak wyżej tylko że zakończenie zdarzenia
    .AllDayEvent = False '<- czy wydarzenie całodzienne true/fales
    .Subject = "przykładowe przypomnienie" '<- temat
    .Body = "jakaś treść" '<-treść
   
    .ReminderMinutesBeforeStart = 15 '<- przypomnienie 15 min. (podawane w minutach)
    .ReminderSet = True '<-potwierdzenie ustawienia przypomnienia
    .Save '<- zapis
    End With
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
        With Application
        .ScreenUpdating = True
        .EnableEvents = True
        End With
   
End Sub


Witam ponownie.

Jakoś sobie z tym poradziłem . Jednak mam nastepujące pytanie :

Czy istnieje mozliwość wysłania przypomniena jednocześnie do osób które dostaja maila . Bo jak narazie tylko ja otrzymuje potwierdzenie przyjecia przypomnienia

literki.rar
Pobierz Plik ściągnięto 102 raz(y) 18.73 KB

ID posta: 50742 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

Andy 
Fan Excela



Pomógł: 4 razy
Posty: 67
Wysłany: 2009-03-02, 16:12   

Witam,
Znalazłem ten topic i powiem, że jego zawartość mnie zaciekawiła ale mam pytania:
1. Gdzie wpisujemy to makro? This workbook? EDIT: w this workbook zadziałało
2. Czy ono działa na wyłączonym pliku? EDIT: Działa na wyłączonym! SUPER!!!
3. Jak w pliku będzie ileś dat to jak to zadziała?

4. Rozumiem, że jak sobie to wpiszę do beforeclose to się będzie uruchamiało po zamknięciu lub savie na pliku?

Mam plik z datami wyjścia przelewów - takie makro byłoby idealne do przypominania o tym.
A.
ID posta: 59380 Skopiuj do schowka
 
 
kermit
słuchacz


Posty: 8
Wysłany: 2009-05-08, 12:33   

Witam,
Mam pytanie do powyższego makra. Chciałbym go użyć w pliku z listą spraw do załatwienia gdzie przypomnienia powinny się pojawiać różnym osobom przypisanym do sprawy jako prowadzące temat. (wg schematu: temat, data, os. odpowiedzialna) Plik znajduje się na dysku sieciowym.
Powyższe makro (takze po wstawieniu do ThisWorkbook) nie działa mi również na wyłączonym pliku jak pisał wcześniej Andy. Właściwie to działa tylko po uruchomieniu go z palca.

Będę wdzięczny za wskazówki,
K.
ID posta: 64471 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

mirag 
słuchacz


Posty: 13
Wysłany: 2012-01-02, 10:42   

Witam

Wykorzystałem powyższy skrypt do mojego pliczku (załącznik) jednakże nie za każdym razem dodaje mi przypomnienie do Outlooka :( i nie wiem czemu tak się dzieje. Mógłby ktoś spojrzeć i mi pomóc?

Co ciekawe np jak dam datę (przypomnienie) gdzieś tak z wyprzedzeniem 20 dni to działa a jak datę np dzisiejszą to nie dodaje przypomnienia ;/ (skrypt leci bez błędów). Ogólnie działa jak chce.

P.s. I jeszcze jedno - jakby ktoś był łaskawy i popatrzał na skrypt bo mam małe doświadczenie z VBA a w moim skrypcie mogą być przypadki których do końca nie rozumiem a zastosowałem bo działało ;)

Zgłoszenia.zip
Pobierz Plik ściągnięto 19 raz(y) 61.99 KB

_________________
początkujący ;)
ID posta: 142650 Skopiuj do schowka
 
 
OShon 
Excel Expert



Zaproszone osoby: 41
Pomógł: 620 razy
Posty: 2037
Wysłany: 2012-01-02, 11:58   

mirag napisał/a:
(skrypt leci bez błędów). Ogólnie działa jak chce.

Pewnie dla tego ze masz w kodzie olewajkę, która po napotkaniu błędu nie będzie monitować zwracając uwagę na błędną linię kodu ale poleci dalej:
Kod:
On Error Resume Next

Poza tym wyłączasz zdarzenia:
Kod:
Application.EnableEvents = False
to tak w jakimś konkretnym celu - czy tak dla jaj?
Jednakże nie to jest najgorszym błędem - to że co prawda jest ale szczątkowa obsługa błędu - to tez faktycznie cokolwiek wpiszesz w okna okresu to można zaliczyć za dobre lub złe.
Przede wszystkim daty isdate() użyj tą funkcję, a po drugie data końca ma być > początku - a takiej obsługi błędu brak.
Spróbuj użyć kontrolki DTPicker z zestawu CommonControls pliku mscomct2.ocx
Przynajmniej jeden błąd do obsługi ci odpadnie.

Ustawiasz czas przypomnienia na 18,5 godz. przed 0:00 = nie lepiej od razu wkleić godzinę? np:
Kod:
.Start = TextBox3 & " 9:00"
.End = TextBox4 & " 18:00"

a parametr .ReminderMinutesBeforeStart ustawić na Zero albo na 15min ?
Jeśli już nie chcesz używać godzin, to użyj parametru .AllDayEvent = True
_________________
MVP Office System, moderator Outlook.pl|WSS.pl|CodeGuru.pl, praca: Business Developer, blog: VBATools
ID posta: 142661 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

mirag 
słuchacz


Posty: 13
Wysłany: 2012-01-02, 13:40   

Na początku wiem że może być dużo rzeczy głupich ale tak jak pisałem wcześniej jestem laikiem.

Z tym
On
Kod:
Error Resume Next

to już usunąłem,
co do daty wcześniej jest to przerabiane na datę (data i data2) więc użyłem tych zmiennych

odnośnie:
Kod:

Application.EnableEvents = False

jest użyte wcześniej do wprowadzania danych (podobno tak jest lepiej) więc to zostawię tylko nie wiem czy czasem nie dać przed wprowadzaniem typowo do outlooka
Kod:

Application.EnableEvents = True
Jak myślisz?????

Co do przypominania to jest tak ustawione żeby przypominał dzień wcześniej o 6:30 i tak ma być - wiec tak to zostawię

No i ostanie:

OShon napisał/a:

Przede wszystkim daty isdate() użyj tą funkcję, a po drugie data końca ma być > początku - a takiej obsługi błędu brak.
Spróbuj użyć kontrolki DTPicker z zestawu CommonControls pliku mscomct2.ocx
Przynajmniej jeden błąd do obsługi ci odpadnie.


to muszę się doszkolić dlatego też się nie wypowiem ;)
_________________
początkujący ;)
ID posta: 142683 Skopiuj do schowka
 
 
OShon 
Excel Expert



Zaproszone osoby: 41
Pomógł: 620 razy
Posty: 2037
Wysłany: 2012-01-02, 14:32   

Cytat:
wcześniej jest to przerabiane na datę
Gdzie jest przerabiane jak datę z palca wpisujesz - możesz wpisać ją jak chcesz, co będzie prowadziło do próby podstawienia tekstu jako daty i... kod się wykrzaczy - trzeba to obsłużyć i zamonitować zanim przystąpisz się do dalszych kroków.
Myślę że nie jest ci potrzebne .EnableEvents wcale.
Doszkól się doszkól - bo zadajesz pytanie a potem bronisz swojego obecnego stanowiska dziwiąc się jednocześnie skąd wychodzi błąd.
_________________
MVP Office System, moderator Outlook.pl|WSS.pl|CodeGuru.pl, praca: Business Developer, blog: VBATools
ID posta: 142688 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

mirag 
słuchacz


Posty: 13
Wysłany: 2012-01-02, 21:52   

Kod:
If IsDate(TextBox3.Value) Then 'sprawdza czy wartość da się zamienić na date
Dim data As Date
data = CDate(TextBox3.Value) ' na wszelki wypadek zamiana wartość textbox3 na date
data = Format(data, vbMediumDate) ' po tej operacji data ma już napewno prawidłowy format
TextBox3.Value = data ' po wszystkim zapisujemy wynik powtórnie do texbox
Else
MsgBox "Wprowadzono nieprawidłowy termin lub data ma nieprawidłowy format rrrr-mm-dd", vbOKOnly, "Błąd"
TextBox3.SetFocus
Exit Sub
End If ' oczywiście całość można uprościć :)


No tutaj jest sprawdzanie pod względem daty - takie samo jest do terminu zakończenia.

A co do "bronienia swojego stanowiska" to odpowiadam po to abyś mógł niektóre rzeczy zrozumieć - po co tak to zrobiłem.
_________________
początkujący ;)
ID posta: 142747 Skopiuj do schowka
 
 
OShon 
Excel Expert



Zaproszone osoby: 41
Pomógł: 620 razy
Posty: 2037
Wysłany: 2012-01-02, 23:17   

Następny kroczek.
Skoro sprawdziłeś że jest datą to data - to liczba
Sprzwdź wiec czy przypadkiem początek nie jest większy od końca. Jeśli tak to komunikat "popraw"
_________________
MVP Office System, moderator Outlook.pl|WSS.pl|CodeGuru.pl, praca: Business Developer, blog: VBATools
ID posta: 142760 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

mirag 
słuchacz


Posty: 13
Wysłany: 2012-01-05, 17:57   

OShon napisał/a:
Następny kroczek.
Skoro sprawdziłeś że jest datą to data - to liczba
Sprzwdź wiec czy przypadkiem początek nie jest większy od końca. Jeśli tak to komunikat "popraw"


poprawione tak pisałeś :)

pliczek działa coraz lepiej :)
_________________
początkujący ;)
ID posta: 143157 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum