เพียงเขียนรูทีนย่อยเพื่อใส่คุณสมบัติที่มีชื่อไว้ในวัตถุข้อความที่ติดแท็กบนสไลด์ทั้งหมด
เมื่อต้องการวางคุณสมบัติไฟล์ลงบนภาพนิ่ง สร้างกล่องข้อความเพื่อเก็บสตริง ในคุณสมบัติ / ข้อความตัวอักษรใส่ชื่อคุณสมบัติลงในวงเล็บเหลี่ยม
updateProperties()
แล้วรันมาโคร
ie [title]
- อนุญาตให้อัปเดตชื่อเอกสารในหลายรายการ
มีการเขียนแท็กพิเศษสองแท็ก:
[copyright]
จะใส่สตริงลิขสิทธิ์เช่น© 1998-2013 P.Boothroyd, NIS Oskemen
[page]
จะใส่หมายเลขสไลด์จากแท็บเครื่องมือแก้ไข
'คัดลอกคุณสมบัติของเอกสารไปยังสไลด์ทั้งหมด
(c) 2013, P.Boothroyd สำหรับ NIS Oskemen
Dim processPage As Slide
Sub updateProperties ()
หน้าสลัวเป็นสไลด์
Dim propname As String
'แยกวิเคราะห์สไลด์ทั้งหมดในงานนำเสนอที่ใช้งานอยู่ (เอกสาร)
สำหรับแต่ละ processPage ใน Application.ActivePresentation.Slides
'สแกนองค์ประกอบทั้งหมดของหน้าสำหรับช่องข้อความที่มีแท็ก "altText / title" ฟิลด์ด้วย "["
สำหรับแต่ละ obj In processPage.Shapes
ถ้า Left (obj.Title, 1) = "[" จากนั้น
ติ่ม sStart, sEnd As Integer
'ดึงคุณสมบัติจากระหว่างวงเล็บเหลี่ยม
sStart = 2
sEnd = InStr (2, obj.Title, "]")
propname = Trim (กลาง (obj.Title, sStart, sEnd - 2))
ถ้า obj.Type = msoTextBox แล้ว
'ตั้งค่ากล่องข้อความเป็นค่าที่ร้องขอ
obj.TextFrame.TextRange.Text = getProperty (propname, obj.TextFrame.TextRange.Text)
สิ้นสุดถ้า
สิ้นสุดถ้า
ถัดไป 'obj
หน้าต่อไป
ส่วนท้าย
'รับคุณสมบัติของเอกสารที่กำหนดชื่อ (พร้อมค่าเริ่มต้นไม่บังคับ)
ฟังก์ชั่น getProperty (propname, ตัวเลือก def As String) As String
'คุณสมบัติกำหนดค่าเริ่มต้น
getProperty = def
ติ่มซำพบว่าเป็นบูลีน
พบ = เท็จ
propname = LCase (propname)
ลิขสิทธิ์เป็นทรัพย์สินที่สร้างขึ้น
ถ้า propname = "copyright" จากนั้น
ติ่มซำ As String
บริษัท Dim เป็น As String
ติ่มปีจาก As String
ติ่มซำเป็น As String
'รับตัวแปรที่เหมาะสมทั้งหมด
ผู้เขียน = getProperty ("ผู้แต่ง", "")
company = getProperty ("บริษัท ", "")
yearFrom = getProperty ("สร้าง", "")
yearTo = รูปแบบ (ตอนนี้ (), "YYYY")
'ใส่สัญลักษณ์ลิขสิทธิ์
getProperty = Chr (169) + ""
'แนบช่วงปีเพื่อแจ้งให้ทราบลิขสิทธิ์
ถ้าปีจากปีไปแล้ว
getProperty = getProperty + yearFrom + "-"
สิ้นสุดถ้า
getProperty = getProperty + yearTo
เพิ่มผู้แต่ง
getProperty = getProperty + "" + ผู้แต่ง
'เพิ่มตัวคั่นสำหรับผู้แต่ง / บริษัท หากทั้งสองมีอยู่
ถ้า Len (ผู้เขียน)> 0 And Len (บริษัท )> 0 จากนั้น
getProperty = getProperty & ","
สิ้นสุดถ้า
getProperty = getProperty & บริษัท
ดำเนินการแล้วจึงส่งคืนค่า
พบ = จริง
สิ้นสุดถ้า
'ใส่หมายเลขสไลด์ลงในเอกสาร
ถ้า propname = "หน้า" จากนั้น
getProperty = processPage.SlideNumber
พบ = จริง
สิ้นสุดถ้า
'ถ้าชื่อที่สร้างที่สร้างขึ้นส่งคืนค่า
หากพบแล้วไปที่
'ค้นหาคุณสมบัติ MS (ไฟล์) มาตรฐานของค่าที่ตั้งชื่อ
สำหรับแต่ละ p ใน Application.ActivePresentation.BuiltInDocumentProperties
ถ้า LCase (p.Name) = propname แล้ว
getProperty = p.Value
พบ = จริง
ออกจาก
สิ้นสุดถ้า
ถัดไป
'ค้นหาคุณสมบัติที่กำหนดเองของค่าที่ตั้งชื่อ
หากพบแล้วไปที่
สำหรับแต่ละ p ใน Application.ActivePresentation.CustomDocumentProperties
ถ้า LCase (p.Name) = propname แล้ว
getProperty = p.Value
พบ = จริง
ออกจาก
สิ้นสุดถ้า
ถัดไป
ret:
ฟังก์ชั่นสิ้นสุด