2016-12-14 5 views
0

Ich verwende derzeit ein Makro in Outlook, das den Namen des Anhangs verwendet und diesen als Betreff verwendet.Entfernen von Textabschnitten mit VBA (Outlook 2010)

Das Makro ist:

Sub AttachmentNameAsSubject() 

Dim AttachmentName As String 
Dim currItem As Object 

Set currItem = ActiveInspector.CurrentItem 

With currItem 
    If .Attachments.Count > 0 Then 
     AttachmentName = .Attachments.Item(1).DisplayName 
     .Subject = AttachmentName 
    End If 

End With 
End Sub 

Die Befestigung ist in der Regel eine Art von PDF- oder XLS-Datei, so dass, wenn der Anhang: „MyAttachment.pdf“, wird die Betreffzeile lesen „MyAttachment.pdf ".

Gibt es eine Möglichkeit, jeden Text nach dem Punkt in der Betreffzeile zu entfernen, so dass die Betreffzeile einfach "MyAttachment" liest und nicht die ".pdf" oder was auch immer die Erweiterung sein kann.

+1

Sie eine Verwendung der Funktion Left: Left (.Attachments.Item (1) .DisplayName, Len (.Attachments.Item (1) .DisplayName) - 4) – Sorceri

+1

, wenn die Erweiterung mehr als 4 Zeichen lang sein kann Dann können Sie InStr verwenden, um den Ort des Zeitraums zu erhalten: Links (.Attachments.Item (1) .DisplayName, InStr (1, .Attachments.Item (1) .DisplayName, ".") - 1) – Sorceri

+0

Es hängt nur davon ab auf der Erweiterung. Meistens habe ich das Gefühl, dass die Erweiterung 4 Zeichen lang ist (einschließlich des Punktes wie ".pdf"). Zu anderen Zeiten kann es 5-7 Zeichen lang sein. – Darren

Antwort

1

Vielleicht ist das einfacher (lässt alles aus der letzten Periode fallen).

Function DropExtension(sName As String) As String 
    If InStr(1, sName, ".", vbTextCompare) = 0 Then 
     DropExtension = sName ' No file extension 
    Else 
     DropExtension = Left(sName, InStrRev(sName, ".") - 1) 
    End If 
End Function 
+0

Ich bin neugierig, wenn ich diese bestehende Funktionalität behalten wollte, aber jetzt auch den Anhangsnamen in den Text der E-Mail einfüge, wie würde ich das machen? – Darren

+0

Sie können '.Body' oder' .HTMLBody' verwenden, wenn es sich um eine E-Mail handelt. Die meisten Elementtypen haben die '.Body', die Sie manipulieren können. – PatricK