複数のPDF添付ファイルを含む完成した仕事用電子メールを送信しようとしていますが、PDFファイルのみを受信者に送信し、転送される。非PDF添付ファイルなしで選択した電子メールを転送する
P.S. pdfs、excels、imagesの組み合わせで1つ以上の添付ファイルがある場合がありますが、pdfsのみを転送する必要があります。私はその部分をコード化する方法を見つけることができません。私の既存のコードの下を参照してください。
Sub Send2Recipient()
' Send Completed Message to Recipient
On Error Resume Next
Dim oApp As Outlook.Application
Dim objFolder As Outlook.MAPIFolder
Set oApp = New Outlook.Application
Set objNS = Application.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objFolder = objInbox.Folders("Helpdesk")
Dim oEmail As Outlook.MailItem
Dim strFile As String
Dim sFileType As String
'Require that this procedure be called only when a message is selected
If Application.ActiveExplorer.Selection.Count = 0 Then
Exit Sub
End If
For Each objItem In Application.ActiveExplorer.Selection
If objFolder.DefaultItemType = olMailItem Then
If objItem.Class = olMail Then
Response = MsgBox("Forward message (" + item.Subject + ") to Appended Subject")
Set myforward = objItem.Forward
myforward.Body = "Scan Only"
myforward.Subject = "Scan Only"
myforward.Recipients.Add "[email protected]"
myforward.Display
End If
End If
Next
End Sub
更新VBAスクリプト
Sub Send2New()
' Send Completed Message to Accenture
On Error Resume Next
Dim oApp As Outlook.Application
Dim objFolder As Outlook.MAPIFolder
Set oApp = New Outlook.Application
Set objNS = Application.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
'Set objFolder = objInbox.Folders("Helpdesk")
Dim oEmail As Outlook.MailItem
Dim strFile As String
Dim sFileType As String
Dim bk, fg As Integer
'Require that this procedure be called only when a message is selected
If Application.ActiveExplorer.Selection.Count = 0 Then
Exit Sub
End If
For Each objItem In Application.ActiveExplorer.Selection
If objFolder.DefaultItemType = olMailItem Then
If objItem.Class = olmail Then
Response = MsgBox("Forward message (" + Item.Subject + ") to Appended Subject")
Set myforward = objItem.Forward
myforward.Body = "Scan Only"
myforward.Subject = "Scan Only"
myforward.Recipients.Add "[email protected]"
myforward.Display
bk = myforward.Attachments.Count
fg = 1
For i = 1 To bk
If InStr(LCase(myforward.Attachments(fg).FileName), ".pdf") = 0 Then
myforward.Attachments(fg).Delete
Else: fg = fg + 1
End If
Next i
End If
End If
Next
End Sub
あなたは以前の質問を削除したようです。コメントでは、電子メールへの添付ファイルを特定する方法を示した以前の回答にリンクしました。必要に応じて私はあなたにリンクを再度与えることができます。添付ファイルをあるメールから別のメールに移動することは可能だとは思いません。あなたは古い電子メールから添付ファイルを(ディスクに)保存し、新しい電子メールに添付することができます。また、古い電子メールを複製し、不要な添付ファイルを削除し、送信者、受信者、および本文を置き換えることもできます。私は一度にすべてのことをやったことがないと告白しますが、個々のステップは難しくありません。 –
ありがとうございました。トニーの情報をありがとうございました。他の質問を削除しました。これはOutlookのレポートに関連していましたので、既存のメールを固定メールアドレスに転送し、pdf添付ファイル他の添付ファイルは、転送されるべきではありません。 –