Ahoj,
Mám jeden sešit č.1, se kterým pracuji každý den. Chtěl bych do něj vložit makro, např. při každém spuštění sešitu č.1, které by hlídalo sešit č.2 a v případě jeho změny, by tento sešit odeslalo na předem určené emaily.
Možná to jde i jednodušeji, ale myslel jsem třeba na sešitu č.1 vytvořit skrytý list, do kterého by se ukládal datum a čas každého odeslání sešitu č.2 a podle data a času jeho změny by se vyhodnocovalo, zda je třeba ho odeslat nebo ne.
Díky za každý nápad.
Automatické odesílání sešitu na email Vyřešeno
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Automatické odesílání sešitu na email
Na to bych šel radši ve vbs. Klidně by pak mohl zapisovat či vytvářet xls soubor s daty a časy. Startoval by po spuštění PC (po přihlášení).
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Re: Automatické odesílání sešitu na email
Jsem trochu mimo, nevím co je to vbs.
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Automatické odesílání sešitu na email
visual basic script. Syntaxe je podobná jazyku VBA ve kterém se píší makra.
--- Doplnění předchozího příspěvku (11 Říj 2012 20:14) ---
Test xls souboru na změnu - nelze jednoduše použít metodu DateLast Modified protože excel změní datum a čas už při otevření souboru. Pokud se soubor nezmění, pak datum a čas vrátí zpět, jenže to už soubor může projít testem a být chybně vyhodnocen. Nicméně jsem toto obešel tak, že mažu atribut "A" testovaného souboru. Excel po uložení změn totiž tento atribut nastavuje. Kod vypadá asi takto:
Odeslání souboru v e-mailu v případě zájmu natrénuju a dám vědět.
--- Doplnění předchozího příspěvku (11 Říj 2012 20:14) ---
Test xls souboru na změnu - nelze jednoduše použít metodu DateLast Modified protože excel změní datum a čas už při otevření souboru. Pokud se soubor nezmění, pak datum a čas vrátí zpět, jenže to už soubor může projít testem a být chybně vyhodnocen. Nicméně jsem toto obešel tak, že mažu atribut "A" testovaného souboru. Excel po uložení změn totiž tento atribut nastavuje. Kod vypadá asi takto:
Kód: Vybrat vše
Const file = "K:\Testovany.xls" ' hlídaný soubor na změnu
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set oFile = fso.GetFile(file)
Text = "Soubor " & oFile.Name & " byl změněn"
If oFile.Attributes AND 32 Then
MsgBox Text, vbOKOnly + vbInformation, "Upozornění"
oFile.Attributes = oFile.Attributes XOR 32
End If
Odeslání souboru v e-mailu v případě zájmu natrénuju a dám vědět.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
-
- Level 4.5
- Příspěvky: 1544
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: Automatické odesílání sešitu na email
Odesílání emailu z excelu je popsáno zde http://excelplus.net/news.php?readmore=122
Re: Automatické odesílání sešitu na email
Tak ten kod dělá to co jsem si představoval. Teď, jestli můžu poprosit, rozchodit to odeslání na emaily. Pokud se to povede, bylo by to super. Ale mám jednu poznámku. Např.ten skript by se měl spouštět automaticky po přihlášení do počítače a pokud by měl hned posílat email, tak nastává problém se spouštěním Outlooku, kde je potřeba se nejprve přihlásit k exchange serveru, takže by asi bylo potřeba to časově posunout třeba o 10 min. Možná je i jiná možnost, ale já tento skript vidím poprvé a v makrech jsem uplný začátečník, který dává makra dohromady z různých rešení, nebo za pomoci Vás všech tady na fóru.
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Automatické odesílání sešitu na email
Pokud si myslel můj kód: K odeslání e-mailu outlook netřeba. Stačí vědět smtp server - předpokládám. I když přes outlook to určitě půjde taky. Počáteční zpoždění taky není problém. A pokud to bude běžet automaticky, tak tam bude muset být nekonečná smyčka, předpokládám, že bude stačit test 1x za 10 minut.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Re: Automatické odesílání sešitu na email
Nekonečná smyčka není ani žádaná, změnit daný soubor může oprávněná osoba v průběhu směny třeba 3x, takže následující kontrola je v hodná až na další směně, aby se neposílaly 2 emaily naprosto zbytečně, takže kontrola by právě byla spuštěna po přihlášení do PC další směnou. Přes ten SMTP server to bohužel nepůjde. Přístup k emailu je pouze přes exchange, nebo Outlook Web App.Takže si myslím že spoždění cca.10 min je ideální.
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Automatické odesílání sešitu na email
Takže tady je výsledek:
Pokud bys chtěl zobrazovat zprávu o změně, pak umaž apostrof (') před MsgBox.
Vzhledem k tomu, že nejde použít SMTP je tam malá komplikace. Mkrkvosoftí klasika .
Pokud se rozhodneš zobrazit zprávu před odesláním, je to ok, jen odeslání musí schválit obsluha.
Pokud použiješ metodu obj.Mail.Send (tak jak je to napsáno) zobrazí outlook varování (viz. obrázek). Ale třeba jde outlook nastavit tak, aby to nezobrazoval - to nevím, mám ho jen v práci, jinak se mu vyhýbám jak to jen jde.
--- Doplnění předchozího příspěvku (12 Říj 2012 21:19) ---
Ještě doplnění - outlook nemusí být spuštěný. varování se ale zobrazí i tak.
Kód: Vybrat vše
'**********************************************
'* Script testuje soubor excelu na změnu *
'* Pokud je soubor změněn odešle jej e-mailem *
'* vytvořeno pro PC-Help *
'* *
'* Etienna@Script v1.0 *
'**********************************************
Option Explicit
Dim fso, oFile, Text, Pause
Dim objOutlk 'Outlook
Dim objMail 'Email item
Dim strMsg
Const olMailItem = 0
Const file = "C:\testovany.xlsm" ' hlídaný soubor na změnu
Pause = 600000 'Počáteční zpoždění v ms
WScript.Sleep Pause
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set oFile = fso.GetFile(file)
Text = "Soubor " & oFile.Name & " byl změněn"
'test xls
If oFile.Attributes AND 32 Then
'MsgBox Text, vbOKOnly + vbInformation, "Upozornění"
Odeslani
oFile.Attributes = oFile.Attributes XOR 32
End If
Sub Odeslani
'Nová zpráva
Set objOutlk = createobject("Outlook.Application")
Set objMail = objOutlk.createitem(olMailItem)
objMail.To = "my.mail@blabla.cz"
objMail.cc = "" 'Zde adresa pro kopii; objMail.bcc pro skrytou adresu
'Předmět
objMail.subject = "Automatická zpráva " & cstr(day(now)) & ". " & cstr(month(now)) & ". " & cstr(year(now))
'Zpráva
strMsg = "První řádek zprávy" & vbcrlf
strMsg = strMsg & "Druhý řádek zprávy"
'Příloha
objMail.attachments.add(file)
objMail.body = strMsg
'objMail.display 'Zobraz před odesláním, jinak rovnou objMail.Send pro odeslání
objMail.Send
End sub
'Clean up
Set objMail = Nothing
Set objOutlk = Nothing
Set fso = Nothing
Set oFile = Nothing
Pokud bys chtěl zobrazovat zprávu o změně, pak umaž apostrof (') před MsgBox.
Vzhledem k tomu, že nejde použít SMTP je tam malá komplikace. Mkrkvosoftí klasika .
Pokud se rozhodneš zobrazit zprávu před odesláním, je to ok, jen odeslání musí schválit obsluha.
Pokud použiješ metodu obj.Mail.Send (tak jak je to napsáno) zobrazí outlook varování (viz. obrázek). Ale třeba jde outlook nastavit tak, aby to nezobrazoval - to nevím, mám ho jen v práci, jinak se mu vyhýbám jak to jen jde.
--- Doplnění předchozího příspěvku (12 Říj 2012 21:19) ---
Ještě doplnění - outlook nemusí být spuštěný. varování se ale zobrazí i tak.
- Přílohy
-
- Outlook_zpr.JPG (16.12 KiB) Zobrazeno 3414 x
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Re: Automatické odesílání sešitu na email
Děkuji za pomoc, funguje to perfektně. Dokonce jse mi povedlo, že není potřeba žádný zásah obsluhy, kromě toho že ten outlook, pokud není spuštěný, se spustí, požaduje přihlášení a pak se zase ukončí. Ale to není na závadu, protože první věcí kterou obsluha dělá je, že se přihlásí do Outlooku, proto to spoždění.
Ještě jednou dík.
Ještě jednou dík.
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Automatické odesílání sešitu na email
Přihlášení požaduje zřejmě proto, že jednotliví členové obsluhy mají každý jiný účet. Outlook na kterém jsem to zkoušel má jen jediný účet a automaticky se na něj přihlašuje, protona přihlášení netrval.
Uvedený příklad sloužím mj. k tomu, že ve vbs lze skoro všechno. Doufám, že příznivců vbs po tomto přibude. Téma můžeš zamknout.
Uvedený příklad sloužím mj. k tomu, že ve vbs lze skoro všechno. Doufám, že příznivců vbs po tomto přibude. Téma můžeš zamknout.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 1
- 1630
-
od mmmartin
Zobrazit poslední příspěvek
20 led 2024 19:21
-
- 1
- 3653
-
od KubaCZE
Zobrazit poslední příspěvek
21 úno 2024 20:00
-
-
Phishingovy utok aneb email odesilatele Příloha(y)
od drobino » 15 pro 2023 08:22 » v Vše ostatní (sw) - 15
- 2024
-
od 28nitro28
Zobrazit poslední příspěvek
17 pro 2023 20:12
-
-
-
Automatické přehrávání videa Příloha(y)
od fafejt » 09 úno 2024 13:59 » v Internet a internetové prohlížeče - 4
- 873
-
od fafejt
Zobrazit poslední příspěvek
09 úno 2024 17:30
-
-
- 4
- 4567
-
od ArtisPier
Zobrazit poslední příspěvek
26 zář 2023 12:29
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 25 hostů