ไปยังเนื้อหาหลัก

วิธีการกรอกหัวเรื่องอีเมลโดยอัตโนมัติด้วยชื่อไฟล์แนบใน Outlook?

สำหรับผู้ที่คุ้นเคยกับการใช้ชื่อไฟล์แนบเป็นหัวเรื่องของอีเมลใน Outlook การพิมพ์ชื่อไฟล์แนบในบรรทัดหัวเรื่องด้วยตนเองในแต่ละครั้งจะใช้เวลานาน ดังที่แสดงใน gif ด้านล่าง ถ้าคุณต้องการกรอกหัวเรื่องอีเมลด้วยชื่อไฟล์แนบโดยอัตโนมัติเมื่อคุณแทรกไฟล์แนบ วิธี VBA ในบทช่วยสอนนี้จะช่วยคุณได้


กรอกหัวเรื่องอีเมลโดยอัตโนมัติด้วยชื่อไฟล์แนบด้วยรหัส VBA

โปรดเรียกใช้รหัส VBA ต่อไปนี้เพื่อกรอกหัวเรื่องอีเมลโดยอัตโนมัติด้วยชื่อของไฟล์แนบที่แทรกใน Outlook

1. เปิดโปรแกรม Outlook ของคุณกดปุ่ม อื่น ๆ + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน ดับเบิลคลิก โครงการ 1 (VbProject.OTM) > วัตถุ Microsoft Outlook > นี้OutlookSession เพื่อเปิด ThisOutlookSession (รหัส) บรรณาธิการ

3. จากนั้นคัดลอกโค้ด VBA ต่อไปนี้ลงใน ThisOutlookSession (รหัส) บรรณาธิการ

รหัส VBA: ป้อนหัวเรื่องอีเมลอัตโนมัติพร้อมชื่อไฟล์แนบ

Public WithEvents GExplorer As Explorer
'Updated by Extendoffice 20220926
Public WithEvents GInspectors As Inspectors
Public WithEvents GMail As MailItem

Private Sub Application_Startup()
  Set GExplorer = Application.ActiveExplorer
  Set GInspectors = Application.Inspectors
End Sub

Private Sub GExplorer_InlineResponse(ByVal Item As Object)
  Set GMail = Item
End Sub

Private Sub GInspectors_NewInspector(ByVal Inspector As Inspector)
  Dim xItem As Object
  Set xItem = Inspector.CurrentItem
  If xItem.Class <> olMail Then Exit Sub
  Set GMail = xItem
End Sub

Private Sub GMail_AttachmentAdd(ByVal Att As Attachment)
  Dim xFileName As String
  On Error Resume Next
  If VBA.Trim(GMail.Subject) <> "" Then Exit Sub
  If MsgBox("Do you want to use the attachment name as the subject?", vbYesNo + vbInformation, "Kutools for Outlook") = vbNo Then Exit Sub
  xFileName = Att.DisplayName
  xFileName = Left$(xFileName, VBA.InStrRev(xFileName, ".") - 1)
  GMail.Subject = xFileName
End Sub

4. ตอนนี้ คุณต้องบันทึกรหัสและเริ่มต้น Outlook ใหม่

5. จากนี้ไป เมื่อคุณแทรกไฟล์แนบในอีเมลที่ยังไม่ได้กรอกหัวเรื่อง a Kutools สำหรับ Outlook กล่องโต้ตอบจะปรากฏขึ้นเพื่อถามว่าคุณต้องการใช้ชื่อไฟล์แนบเป็นหัวเรื่องหรือไม่ ให้คลิกที่ ใช่ ปุ่ม

จากนั้นบรรทัดหัวเรื่องจะถูกเติมด้วยชื่อของไฟล์แนบที่แทรกโดยอัตโนมัติ

หมายเหตุ / รายละเอียดเพิ่มเติม:

1) หากคุณกรอกหัวเรื่องแล้ว การแทรกไฟล์แนบจะไม่ปรากฏขึ้นในกล่องโต้ตอบ
2) หากคุณลบหัวเรื่องที่มีอยู่ออกจากอีเมลปัจจุบัน แต่เคอร์เซอร์ยังคงแสดงอยู่ในหัวเรื่อง การแทรกไฟล์แนบจะไม่เปิดกล่องโต้ตอบขึ้นมา หลังจากลบหัวเรื่องแล้ว คุณต้องคลิกออกจากหัวเรื่องเพื่อรีเฟรชกล่องข้อความเพื่อให้โค้ดทำงานได้
3) หากคุณแทรกไฟล์แนบหลายรายการพร้อมกัน เฉพาะชื่อไฟล์แนบแรกเท่านั้นที่สามารถใช้เป็นหัวเรื่องของอีเมลได้

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

Kutools สำหรับ Outlook - คุณสมบัติอันทรงพลังมากกว่า 100 รายการเพื่อเติมพลังให้กับ Outlook ของคุณ

📧 การทำงานอัตโนมัติของอีเมล: ไม่อยู่ที่สำนักงาน (ใช้ได้กับ POP และ IMAP)  /  กำหนดการส่งอีเมล  /  Auto CC/BCC ตามกฎเมื่อส่งอีเมล  /  ส่งต่ออัตโนมัติ (กฎขั้นสูง)   /  เพิ่มคำทักทายอัตโนมัติ   /  แบ่งอีเมลผู้รับหลายรายออกเป็นข้อความส่วนตัวโดยอัตโนมัติ ...

📨 การจัดการอีเมล์: เรียกคืนอีเมลได้อย่างง่ายดาย  /  บล็อกอีเมลหลอกลวงตามหัวเรื่องและอื่นๆ  /  ลบอีเมลที่ซ้ำกัน  /  การค้นหาขั้นสูง  /  รวมโฟลเดอร์ ...

📁 ไฟล์แนบโปรบันทึกแบทช์  /  การแยกแบทช์  /  การบีบอัดแบบแบตช์  /  บันทึกอัตโนมัติ   /  ถอดอัตโนมัติ  /  บีบอัดอัตโนมัติ ...

🌟 อินเตอร์เฟซเมจิก: 😊อีโมจิที่สวยและเจ๋งยิ่งขึ้น   /  เพิ่มประสิทธิภาพการทำงาน Outlook ของคุณด้วยมุมมองแบบแท็บ  /  ลดขนาด Outlook แทนที่จะปิด ...

???? เพียงคลิกเดียวสิ่งมหัศจรรย์: ตอบกลับทั้งหมดด้วยไฟล์แนบที่เข้ามา  /   อีเมลต่อต้านฟิชชิ่ง  /  🕘 แสดงโซนเวลาของผู้ส่ง ...

👩🏼‍🤝‍👩🏻 รายชื่อและปฏิทิน: แบทช์เพิ่มผู้ติดต่อจากอีเมลที่เลือก  /  แบ่งกลุ่มผู้ติดต่อเป็นกลุ่มแต่ละกลุ่ม  /  ลบการแจ้งเตือนวันเกิด ...

เกิน คุณสมบัติ 100 รอการสำรวจของคุณ! คลิกที่นี่เพื่อค้นพบเพิ่มเติม

 

 

Comments (11)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Everything works now. Thanks very much.
This comment was minimized by the moderator on the site
I'm glad I could help you.
This comment was minimized by the moderator on the site
Hello,
I pasted your code. Outlook 365 restarted. I've tried several times, but it doesn't work. The subject line remains empty. What could be the problem?
This comment was minimized by the moderator on the site
Hi Karol,

Please check if the corresponding Macro settings are enabled in your Outlook.
Go to File > Options. In the Outlook Options window, select Trust Center in the left pane. In the Trust Center window, select Macro Settings in the left pane, and then select the Enable all macros option in the Macro Settings section and check the Apply macro security settings to installed add-ins box in the Add-ins section.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/subject-auto.png
This comment was minimized by the moderator on the site
Добрый день. ДА при добавлении 2 файлов в тему писалось через И.
This comment was minimized by the moderator on the site
Hi Александр,

The following VBA code can help to solve your problem. Please give it a try.
Public WithEvents GExplorer As Explorer
'Updated by Extendoffice 20220131
Public WithEvents GInspectors As Inspectors
Public WithEvents GMail As MailItem
Dim GFileName As String

Private Sub Application_Startup()
  Set GExplorer = Application.ActiveExplorer
  Set GInspectors = Application.Inspectors
End Sub

Private Sub GExplorer_InlineResponse(ByVal Item As Object)
  Set GMail = Item
  GFileName = ""
End Sub

Private Sub GInspectors_NewInspector(ByVal Inspector As Inspector)
  Dim xItem As Object
  Set xItem = Inspector.CurrentItem
  If xItem.Class <> olMail Then Exit Sub
  Set GMail = xItem
  GFileName = ""
End Sub

Private Sub GMail_AttachmentAdd(ByVal Att As Attachment)
  If GMail.Subject = "" Then
    GMail.Subject = GFileName
  Else
    GMail.Subject = GMail.Subject & " AND " & GFileName
  End If
  GFileName = ""
End Sub

Private Sub GMail_BeforeAttachmentAdd(ByVal Attachment As Attachment, Cancel As Boolean)
  On Error Resume Next
  GFileName = Attachment.DisplayName
  GFileName = Left$(GFileName, VBA.InStrRev(GFileName, ".") - 1)
  If VBA.Trim(GMail.Subject) <> "" Then Exit Sub
  If MsgBox("Do you want to use the attachment name as the subject?", vbYesNo + vbInformation, "Kutools for Outlook") = vbNo Then
    GFileName = ""
    Exit Sub
  End If
End Sub
This comment was minimized by the moderator on the site
Да получилось. Огромное спасибо за помощь. И еще один вопрос, а можно в конце всего этого, при нажатии кнопки "Отправить" выдавал некое сообщение что то типа "Вы действительно хотите отправить данное сообщение"?
This comment was minimized by the moderator on the site
Да, именно. ТЕ при добавлении или перетягивании двух файлов тема письма автоматом писалась через И
This comment was minimized by the moderator on the site
Добрый день. Подскажите пожалуйста можно ли сделать что бы тема формировалась из 2 и более файлов с разделение И? Может в данном коде дописать или вообще другой существует? Заранее спасибо
This comment was minimized by the moderator on the site
Hi Александр,

Do you mean adding multiple attachments while adding those attachment names at the same time to the subject and then linking them with AND?
This comment was minimized by the moderator on the site
Да. Например перетащил два файла и он их имена написал через И. Именно два файла, больше не надо.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations