Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6 - Tiedot Outlookkiin

Sivun loppuun

Extreme [15.02.2006 14:51:57]

#

Ennenkuin alas edes yrittään väsäämään, kysyn ensin että onko se edes mahdollista.

Eli, minulla on formi jossa x-määrä textbox:ja sekä nappi "send".

Send-napin ideana olisi että se avaisi outlookin uuden viestin lähetyksen ja ottaisi tarvittavat tiedot VB:n textbox:sta. Esim. TO, Subject-kentät.

Onko tämä mahdollista?

BadSource [15.02.2006 15:25:08]

#

Suurta osaa (mutu) Mikkisoftan ohjelmia pystyy käskyttämään varsin kattavasti commandlinen kautta. Tuossa Outlookin switchejä, joista etsiä haluamansa. Googlella lisää...

Extreme [16.02.2006 19:25:45]

#

No joo, tuollahan niitä komentoja on =) Sitten törmäsin onkelmaan.

Miten tähän koodin pätkään saisin VASTAANOTTAJAN kohdalle txt_mail textbox:sta haettua osoitteen?

buttoni jolla aukaistaan outlook:

retval = Shell("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.exe /c ipm.note /m VASTAANOTTAJA")

näinhän se ei onnistu:

retval = Shell("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.exe /c ipm.note /m txt_mail.Text")

BadSource [17.02.2006 08:43:54]

#

'joko
retval = Shell("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.exe /c ipm.note /m " & txt_mail.Text)

'tai
Dim abu As String

abu = "C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.exe /c ipm.note /m " & txt_mail.Text
retval = Shell(abu)

Extreme [17.02.2006 08:58:30]

#

Toimiihan se BadSource.
Nyt pitää alkaa vain miettiä subjectin ja bodyn laittaminen samaan lausekkeeseen.

komentokehotteessa se ajetaan:

Outlook.exe /c ipm.note /m test@poremsky.com?subject=hei

Yritin tyylillä:

OUTLOOK.exe /c ipm.note /m " & txt_mail.Text ?subject= & txt_subject.Text)

Mutta se ei tykkäää kysymysmerkistä.

Metabolix [17.02.2006 09:09:09]

#

Lainausmerkit siihen suoran tekstin ympärille eli ?:stä =:iin.

Extreme [17.02.2006 09:17:14]

#

"?subject=" <- tuohon väliin?
Ei toimi. Expected: list separator or )

Metabolix [17.02.2006 09:18:27]

#

Ja se &-merkki tietenkin. Onko opas varmasti tullut luettua?

Extreme [17.02.2006 09:19:55]

#

Luettu on ja taisteltu on. Usko pois :)
Täältä kysyminen oli se viimeinen vaihtoehto.

Metabolix [17.02.2006 09:21:51]

#

"OUTLOOK.exe /c ipm.note /m " & txt_mail.Text & "?subject=" & txt_subject.Text

Extreme [17.02.2006 09:24:16]

#

Kiitos kärsivällisyydestä Metabolix. Lueskelen juuri opasta uudemman kerran.

Mut nyt tosiaan valoitti hieman(lue paljon) enemmän kun sai esimerkin ;)

Metabolix [17.02.2006 09:25:24]

#

Juu. Eli on aivan sama, onko teksisi "Tekstiä" vai Tekstiä.Text, ne yhdistetään aina &-merkillä.

Extreme [21.02.2006 11:31:50]

#

Nyt tässä vuorokauden taistellu, että mitenkä saisin clipboardista pastettua kaikki kentät bodyyn?

Eli kaikki kentät on otettu clipboardiin ennen tätä käskyä.

"OUTLOOK.exe /c ipm.note /m " & txt_mail.Text & "?subject=" & txt_subject.Text & "&body=" & ????

mikäli laitan muotoon:

& "&body=" & Clipboard.GetText txt_1.Text & txt_2.Text

ei toimi.

EDIT: toimiihan se noin, mutta jotain häikkää siinä on kun pastean kaikki. Tutkin siis lisää.

EDIT2: Outlookki ei ota välilyöntejä mukaan? wtf.
Kun jossain tekstikentässä on vaikka TEPPO TESTI , se pasteaa vain TEPPO?

BadSource [21.02.2006 12:01:46]

#

Unohda nuo teskstikenttä-viittaukset tuon Clipboard.GetText:n jälkeen. Eli...

"OUTLOOK.exe /c ipm.note /m " & txt_mail.Text & "?subject=" & txt_subject.Text & "&body=" & Clipboard.GetText

Extreme [21.02.2006 12:20:52]

#

Heti kun tulee jossain TextBox:ssä välilyönti, herjaa että "The Command line argument is not valid. Verify the switch you are using"

Tuo samainen sovellus tekee myös tekstitiedoston.Pitäisikö sen sisältö jotenkin pastettaa? Oisko se parempi vaihehto?

Samaiset tiedot kummassakin.

BadSource [21.02.2006 13:06:08]

#

Kun käynnistät tuon Outlookin commandlinen kautta, niin viestiäsi käsitellään URL-muodossa, joten sallittuja merkkejä ovat kirjaimet a-z/A-Z, numerot 0-9 sekä erikoismerkit $-_.+!*'(),. Osan muista erikoismerkeistä saa käyttöön koodamalla ne URL-hyväksyttävään muotoon, josta enemmän täällä. Tuolla on myös automaatti, jolla saat testattua, onko teksti koodattavissa URL-hyväksyttävään muotoon. Huomaa, että ääkköset on Big-No-No.

VB:ssä välilyönnit saat korvattua Replace-funktiolla, josta löydät useita esimerkkejä haulla.

Extreme [21.02.2006 13:56:16]

#

Joo saan nyt korvattua välilyönnin.
Saanko mitenkään helposti kaikkiin muuttujiin korvattua vai pitääkö ne kaikki laittaa yksitellen?

Formille sen jälkeen se tulostaa textboxiin teppo%20testi.
Saako tuota korjattua?

EDIT: Tein silleen että kun välilyönti on korvattu ja sen jälkeen suoritetaan komentokehtoite NIIN sen jälkeen taas korvaan %20 merkin välilyönnillä. TextBox:ssa ei siten näy enää teppo%20testi. En tiedä onko ihan oikea ratkaisu mutta toimii.

BadSource [21.02.2006 14:06:08]

#

...hidas...

Joudut käymään muuttujat yksitellen läpi, ellet ole liittänyt niitä yhteen (esim. ClipBoardin sisällön voit korvata kerralla).

Edit: Jos käytät Replace:a tuossa Outlookin kutsussa, niin et tarvitse Replace:a toistamiseen.

'alaviivalla pitkän koodin saa jaettua useammalle riville
"OUTLOOK.exe /c ipm.note /m " & txt_mail.Text & "?subject=" & Repalce(txt_subject.Text," ","%20") & _
  "&body=" & Replace(Clipboard.GetText," ","%20")

Extreme [21.02.2006 14:20:42]

#

tuota tietoa olen funtsinut että millä saan sen jaettua.
Kiitos :D


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta