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!