Entwickler-Ecke

WinForms - E-Mail versenden in C# (VBA zu C#)


whitef - Di 28.05.13 23:13
Titel: E-Mail versenden in C# (VBA zu C#)
Hi,
ich habe kaum c#-erfahrung, aber einige in vba.
ich soll ein kleines projekt realisieren: word-addin erstellen was ein ribbon erstellt, mit einem button, der das aktuelle document als pdf speichert, eine neue email mit dem standard email client erstellt in der die zuvor gespeicherte pdf datei enthalten sein soll, ein body-, subject- & "to" text soll automatisch hinzugefügt werden. Der Klick auf den "Senden" button sollen die User selbst machen ;)

ich erstelle somit mit Visual Studio 2012 ein neues projekt (word addin), dann füge ich die komponente hinzu (ribbon) erstelle ein button in der ersten gruppe, klicke doppelt darauf, nun bin ich im "Click".

wie zuvor angesprochen, habe ich zzt sehr wenig erfahrun in c#.
(die pdf speicherung in c# habe ich bereits erstellt.)

E-Mail-Erstellung:
In VBA lauffähig ist folgendes:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
Public Function SendMailMessageOutlook(ByVal strTo As String, _
                              ByVal strSubject As String, _
                              ByVal strBody As String, _
                     Optional ByRef varAttachments As Variant = Null) As Boolean
 
   Dim mailprg As Object, Msg As Object
 
   Set mailprg = CreateObject("Outlook.Application")
   Set Msg = mailprg.CreateItem(0)
   Msg.To = strTo
   Msg.Subject = strSubject
   Msg.Body = strBody
 
   If Not IsNull(varAttachments) Then
      Dim i As Long
      If IsArray(varAttachments) Then
         For i = 0 To UBound(varAttachments)
            If Len(varAttachments(i)) > 0 Then
               Msg.Attachments.Add varAttachments(i)
            End If
         Next i
      ElseIf Len(varAttachments) > 0 Then
         Msg.Attachments.Add varAttachments
      End If
   End If
 
   Msg.Display
 
   Set Msg = Nothing
   Set mailprg = Nothing
 
End Function


kann mir jmd "vorkauen", wie es in c# lauten sollte?

(das "set" zb. ist in c# nicht mehr enthalen.
dim ist enthalten, habe aber mal gelesen es wäre nicht mehr notwenig.
Am meisten lerne ich zumindest, wenn ich codes vergleichen kann, von dem
her wäre es sehr nett wenn ein Profi mal eben 2min das "übersetzt".
)

LG und vielen dank im voraus!


Delete - Mi 29.05.13 07:32

- Nachträglich durch die Entwickler-Ecke gelöscht -