Frage

Ich verwende das folgende VBA -Projekt, um eine Standardzeichenfolge auf den Beginn des Fachfelds mit allen neuen E -Mails anzuwenden. Aber - Ich möchte nur, dass dieses Skript funktioniert, wenn Outlook in ein bestimmtes Konto geöffnet wurde (dh ich habe 2 Outlook -Benutzerkonten/PST -Dateien - Personal & Business - und möchte nur, dass die Betreff -Zeichenfolge zu E -Mails hinzugefügt wird, wenn ich in der arbeite Geschäftskonto) Daumen gekreuzt - Vielen Dank für Ihre Hilfe. Kirche

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If MsgBox("Send with 'Myrtleford Festival" at start of subject?", vbYesNo, "Send as Festival mail") = vbYes Then
        If (Left(Trim(Item.Subject), 11)) <> "The " Then
    Item.Subject = "The Myrtleford Festival 2012/ " + Item.Subject
    End If
End If

End Sub

War es hilfreich?

Lösung 2

OK Cool. Tatsächlich bin ich auf eine völlig narrensichere und elegante Lösung gestoßen. In Outlook's Trust Center> Makrosicherheit habe ich die Option für "Warn für alle Makros" ausgewählt. Wenn ich nun Outlook für eines meiner Profile öffne, bekomme ich ein Pop-up, in dem ich Makros aktivieren/deaktivieren möchte. Da das VBA -Skript das einzige Makro ist, kann ich leicht filtern, ob die Standard -Subjektzeichenfolge verwendet wird. Das wird 100% der Zeit für immer funktionieren (da ich keinen Grund sehen kann, warum ich jemals ein anderes Makro-/VBA -Skript verwenden werde)

Andere Tipps

Dies ist die Grundlage eines Ansatzes.

Es ist irgendwann, seit ich mehrere Konten hatte, aber als ich es tat, waren die Ordner der obersten Ebene sehr unterschiedlich. Der folgende Code gibt in das unmittelbare Fenster die Namen der Ordner der obersten Ebene aus. Auf meinem aktuellen System würde dies geben:

Personal Folders
Archive Folders
Test Folders

Wenn Ihre beiden Konten unterschiedliche Ordner auf höchster Ebene haben, können Sie Ihre Konten davon unterscheiden.

Wenn Ihnen dieser Ansatz gefällt, aber die Ordner der obersten Ebene gleich sind, habe ich eine Routine, die nach einem bestimmten Ordner in der Hierarchie nach einem bestimmten Ordner sucht. Selbst wenn die Hauptordner gleich sind, gehe ich davon aus, dass einige der Unterordner unterschiedlich sind.

Sub AnswerA()

  Dim InxIFLCrnt As Integer
  Dim TopLvlFolderList As Folders

  Set TopLvlFolderList = _
          CreateObject("Outlook.Application").GetNamespace("MAPI").Folders

  For InxIFLCrnt = 1 To TopLvlFolderList.Count
    Debug.Print TopLvlFolderList(InxIFLCrnt).Name
  Next

End Sub
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top