เพียงเขียนรูทีนย่อยเพื่อใส่คุณสมบัติที่มีชื่อไว้ในวัตถุข้อความที่ติดแท็กบนสไลด์ทั้งหมด
เมื่อต้องการวางคุณสมบัติไฟล์ลงบนภาพนิ่ง สร้างกล่องข้อความเพื่อเก็บสตริง ในคุณสมบัติ / ข้อความตัวอักษรใส่ชื่อคุณสมบัติลงในวงเล็บเหลี่ยม
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:
ฟังก์ชั่นสิ้นสุด