C# COM OUTLOOK

TIDYSOFT 11/06/2012 11:09:46
#403874
BOM DIA PESSOAL!

Eu estou fazendo uma lista de contatos onde é inserido o email da pessoa, quando clicamos no email da pessoa selecionada
abri o outlook ja com o email preenxido da pessoa ja para o envio de email!

ISSO eu consegui fazer em VB.net
que ficou desta forma:

[txt-color=#007100] Dim objOutlk As New Outlook.Application [ô]Outlook
Const olMailItem As Integer = 0
Dim objMail As New System.Object

objMail = objOutlk.CreateItem(olMailItem) [ô]Email item

[ô]Insert your [Ô]To[Ô] address...it can by dynamically populated
objMail.To = Me.DgvAgend.CurrentCell.Value

[ô]Insert your [Ô]CC[Ô] address...it can by dynamically populated
objMail.cc = [Ô] [Ô] [ô]Enter an address here To include a carbon copy; bcc is For blind carbon copy[ô]s

[ô]Set up Subject Line
objMail.subject = [Ô][Ô]

[ô]To add an attachment, use:
[ô]objMail.attachments.add([Ô][Ô])
[ô] [ô]otherwise, if no attachment, you can comment the objMail.attachments.add([Ô][Ô]) out with an apostrophe

[ô]Set up your message body
Dim msg As String

msg = [Ô][Ô]
objMail.body = msg

[ô]Use this To display before sending, otherwise call (use) objMail.Send to send without reviewing
objMail.display()
[ô]Clean up
objMail = Nothing
objOutlk = Nothing [/txt-color]

[txt-color=#e80000] MAS JÁ EM C# NÃO ESTOU CONSEGUINDO [/txt-color]

OBRIGADO
KERPLUNK 11/06/2012 11:19:28
#403875
1 - Você não fez isso. Você simplesmente copiou de algum lugar e colou na sua aplicação, então você não tem idéia do que realmente o código faz. Prova disso, é que você nem ao menos tirou os comentários originais.
2 - O que você quer é reescrever esse código em C#, mas como você não tem idéia de como fazer nem em VB.NET, em C# então é um completo mistério.
Traduzindo o código ficaria algo como:
Outlook.Application objOutlk = new Outlook.Application();
//Outlook
const int olMailItem = 0;
System.Object objMail = new System.Object();

objMail = objOutlk.CreateItem(olMailItem);
//Email item

//Insert your [Ô]To[Ô] address...it can by dynamically populated
objMail.To = this.DgvAgend.CurrentCell.Value;

//Insert your [Ô]CC[Ô] address...it can by dynamically populated
objMail.cc = [Ô] [Ô];
//Enter an address here To include a carbon copy; bcc is For blind carbon copy[ô]s

//Set up Subject Line
objMail.subject = [Ô][Ô];

//To add an attachment, use:
//objMail.attachments.add([Ô][Ô])
// [ô]otherwise, if no attachment, you can comment the objMail.attachments.add([Ô][Ô]) out with an apostrophe

//Set up your message body
string msg = null;

msg = [Ô][Ô];
objMail.body = msg;

//Use this To display before sending, otherwise call (use) objMail.Send to send without reviewing
objMail.display();
//Clean up
objMail = null;
objOutlk = null;

Mas o mais importante e me desculpe a franqueza: Você nunca vai ser um bom programador simplesmente copiando e colando código, você pode simplesmente pegar o que postei aqui e colar na sua aplicação, vai até funcionar, mas se você não estudar e entender o que está sendo feito, desculpe dizer, mas nunca vai ser sequer um programador medíocre, vai ser simplesmente alguém que copia a cola código sem nem saber o que está fazendo. O ponto chave é: estude, estude e depois estude mais. Ficar nessa de copiar e colar não vai te levar a nada à não ser frustração consigo mesmo. Em algum ponto, você vai ter até um sistema vendável e pode até tirar uma graninha com isso e vai querer fazer um [Ô]sistema de segurança[Ô] para bloquear clientes inadimplentes, o que não passa de pura demagogia, tudo que você tem no seu sistema, foram outras pessoas que fizeram então, não tem nada de trabalho seu ali...

Desculpe desabafar assim, mas estou até frequentando menos o fórum por causa desse tipo de coisa, desanimo em tentar ajudar, porque gosto de ajudar quem se ajuda...
TIDYSOFT 11/06/2012 11:29:49
#403876
Desculpe retornar a msg! mas isso não é franqueza! eh querer humilhar! e sim eu peguei um código pronto que vi no forum da microsoft! e te digo que sei sim programar não apenas copio os codigos eu pego uma base pronta e vou editando ao meu gosto!!

mas muito obrigado pq não sao os elogios que controem um profissional e sim as criticas :)
TIDYSOFT 11/06/2012 11:39:42
#403879
Seu código deu erro pois

objMail.To = this.Dgvlista.CurrentCell.Value;

o. [Ô]TO[Ô] não faz parte do System.Object
mas tudo bem daqui eu me viro, obrigado!
TIDYSOFT 15/06/2012 14:13:00
#404250
Graças ao KERPLUNK eu acabei tentando escrever o codigo da minha propria maneira, mas como ninguém nasce sabendo eu tive que usar
a ferramenta de pesquisa Google. e encontrei algumas formas de mandar e mail pelo outlook e consegui da simples maneira abaixo

alias eu escrevi e nao copiei

Process.Start([Ô]mailto:[Ô] + emailAddress + [Ô]?subject=[Ô] + subject + [Ô]&body=[Ô]
+ body);

porem eu Fiz assim
Process.Start([Ô]mailto:[Ô] + DgLista.CurrentCell.Value[Ô]);


Iniciando o processo email abrindo o Outlook pegando o email da grid na coluna selesionada e adicionando automaticamente no outlook sem eu prescisar digitar o emai.

Obrigado a todos
ALEVALE 15/06/2012 15:41:52
#404260
Resposta escolhida
Da próxima vez quando precisar utilizar essa função não terá mais dúvidas, as vezes é bom quebrar a cabeça um pouco !
TIDYSOFT 17/06/2012 14:19:04
#404321
obrigado ALEVALE
10 pontinhos pra voce[Ô]!!
Tópico encerrado , respostas não são mais permitidas