Vnos časa in e-pošta

Pomoč pri delu z MS Excelom
Odgovori
dragopre
Prispevkov: 105
Pridružen: To Dec 11, 2012 11:46 pm

Vnos časa in e-pošta

Odgovor Napisal/-a dragopre »

Pozdravljeni
Spet imam par vprašanj.
1. Vnos in kontrola časa v celico:
Celici sem določil obliko čas ( h:mm ) in določil preverjanje veljavnosti ( Čas, med 00:00 in 23:59, ustavi ob napaki). Če vpišem decimalno število manjše od nič se pretvori v čas in ne javi napake. ( npr. 0,5 pretvori v 12:00 – očitno po pravilu 0,5 od 24 ur ).
Želim pa zagotoviti, da uporabnik vedno vpiše čas v urah in minutah.

2. Šumniki pri pošiljanju e-pošte iz VBA:
Pri pošiljanju pošte mi spremeni šumnike ( ČŠŽ v H). čšž v h9> ). Kako poslati »prave« šumnike?

Hvala za odgovor in
Lep pozdrav in
Drago
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vnos časa in e-pošta

Odgovor Napisal/-a admin »

Pozdravljeni,

kar se tiče prvega vprašanja je vse tako kot mora biti. Razlago lahko najdete na blogu: http://www.matjazev.net/blog/2010/12/02/kako-je-predstavljen-cas-v-excelu/

Glede drugega vprašanja pa vam seveda ne morem pomagati, brez da bi videl kodo, saj VBA znakov ne pretvarja.
lp,
Matjaž Prtenjak
Administrator
dragopre
Prispevkov: 105
Pridružen: To Dec 11, 2012 11:46 pm

Re: Vnos časa in e-pošta

Odgovor Napisal/-a dragopre »

Hvala za ekspresni odgovor.

Pri e-mail-u je pa koda naslednja:

Koda: Izberi vse

Sub Desnapuščica1_Klikni()          ' TEST e-Mail

  Dim iMsg As Object
  Dim iConf As Object
  Dim Besedilo As String
  Besedilo = "To besedilo je napisano v kodi v VBA. Šumniki - veliki: Č Š Ž   mali  č š ž" & Chr(10) & _
             Range("$f$23").Value

  Set iMsg = CreateObject("CDO.Message")
  Set iConf = CreateObject("CDO.Configuration")

  iConf.Load -1
  Set flds = iConf.Fields
  
  With flds
   .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.siol.net"
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
   .Update
  End With

  With iMsg
    Set .Configuration = iConf
        .To = "drago.prevodnik@gmail.com"
        .CC = ""
        .BCC = ""
        .From = "drago.prevodnik@siol.net"
        .Subject = "Poročilo o intervenciji"
        .TextBody = Besedilo
        .AddAttachment "C:\Excel\NOVO\Gasilec_30\POPRAVI_30.xlsm"
        .Send
  End With

  Set iMsg = Nothing
  Set iConf = Nothing

End Sub
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vnos časa in e-pošta

Odgovor Napisal/-a admin »

Pozdravljeni,

s kodo ni nič narobe in točno takšna koda kot ste jo zapisali deluje tudi s ČŠŽ-ji... seveda pa je vse skupaj odvisno tudi od nastavitev različnih strežnikov preko katerih ta pošta potuje; predvsem tu mislim na oba poštna strežnika - vašega in prejemnikovega. Torej s kodo ni nič narobe in deluje. V kolikor pa želite vedno neglede na vpletene strežnike poslati ČŠŽ pa je situacija precej bolj komplicirana in presega okvir foruma.

Kot vidim, imate tudi gmail naslov in lahko za test poskusite pošto poslati preko gmaila s tem da samo spremenite vrstice z nastavitvami polj:

Koda: Izberi vse

   .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
   .Item("http://schemas.microsoft.com/cdo/configuration/smptserverport") = 587
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
   .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "drago.prevodnik@gmail.com"
   .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "<vaše gmail geslo>"
lp,
Matjaž Prtenjak
Administrator
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vnos časa in e-pošta

Odgovor Napisal/-a admin »

Sem se spomnil, da lahko mogoče tudi poskusite (to je ena izmed hitrih rešitev) tudi, da v strukturi sporočila določite tudi kodiranje:

Koda: Izberi vse

....
        .Subject = "Poročilo o intervenciji"
        .TextBody = Besedilo
        .BodyPart.Charset = "utf-8"
....
lp,
Matjaž Prtenjak
Administrator
dragopre
Prispevkov: 105
Pridružen: To Dec 11, 2012 11:46 pm

Re: Vnos časa in e-pošta

Odgovor Napisal/-a dragopre »

Najlepša hvala. sem že naredil test. Če določim kodiranje, deluje.

Preko g-mail-a pa ne uspem poslati. Javi mi napako: "The »SendUsing« configuration value is invalid."

Lep pozdrav,
Drago
Odgovori