1

「;」で区切られたメールアドレスの文字列を取得します 次のようになります。

geve@krag.de;;;Tobias@nxs.de;Wissel@weg.de;Sand@nex.de;Claudia@bea.de;;

私はこれらの電子メール アドレスに予定を送信したいです。サンプルを 1 人に送信します。

Dim appointment As New EWS.Appointment(esb)
            appointment.Subject = "Einladung zu einem Termin"
            appointment.Body = txtThema.Text
            appointment.Start = Von
            appointment.End = Bis
            appointment.Location = "Raum 202 Kleinostheim"
            appointment.RequiredAttendees.Add("geve@krag.de")  // HERE ARE THE Attendees
            appointment.Save(EWS.SendInvitationsMode.SendToAllAndSaveCopy)

彼がメールを送るので、最初のアドレス以外のすべてのメールアドレスが必要です。どうやってやるの?

あなたの助けを前もって感謝します

4

2 に答える 2

6

文字列を実際に文字列配列に分割する方法は次のとおりです。

Dim emails As String() = emailString.Split({";"}, StringSplitOptions.RemoveEmptyEntries)

オーバーロードされた「Split」メソッドには他のバージョンもありますが、その特定のバージョンではStringSplitOptions値を渡すことができ、空白のエントリをすぐに除外できます。

文字列配列を取得したら、いくつかの異なる方法でループして最初の配列を省略できます。

Forループを使用して、最初のエントリを完全にスキップすることができます。

' Regular For loop approach
Dim emails As String() = emailString.Split({";"}, StringSplitOptions.RemoveEmptyEntries)

Dim appointment As New EWS.Appointment(esb)
With appointment
    .Subject = "Einladung zu einem Termin"
    .Body = txtThema.Text
    .Start = Von
    .End = Bis
    .Location = "Raum 202 Kleinostheim"             
End With

' start at i = 1 to skip index 0
For i = 1 To emails.Length - 1
    appointment.RequiredAttendees.Add(emails(i))  ' HERE ARE THE Attendees
Next

appointment.Save(EWS.SendInvitationsMode.SendToAllAndSaveCopy)

または、送信者の電子メールを識別し、ForEachとIfを使用して省略します。

' For Each approach
' set up string array and appointment object like above

Dim sender As String = emails.FirstOrDefault()

' ignore all instances of the sender's address
For Each address In emails
    If address.ToLower <> sender.ToLower Then
        appointment.RequiredAttendees.Add(emails(i))  ' HERE ARE THE Attendees
    End If
Next

appointment.Save(EWS.SendInvitationsMode.SendToAllAndSaveCopy)

でも、それをいじって、あなたに最も適したアプローチを使用すると思います。

于 2012-10-01T13:12:19.937 に答える
1

分割機能を使用して各メールを解析し、Linq を使用して空白を削除し、最初のエントリをスキップできます。この構文は V​​B で動作すると思います。

Dim emailString = "geve@krag.de;;;Tobias@nxs.de;Wissel@weg.de;Sand@nex.de;Claudia@bea.de;;"

Dim emaillist = (From email In emailString.Split(";").Skip(1) Where email.Length > 0 Select email).ToArray()
于 2012-10-01T12:59:12.640 に答える