Powerpoint: làm thế nào để chèn thuộc tính tài liệu (còn gọi là 'trường') trong slide?


31

Làm cách nào tôi có thể chèn thuộc tính tài liệu (ví dụ: tên tác giả) vào trang chiếu trong PowerPoint 2007? Tôi biết điều này có thể được thực hiện trong Microsoft Word, nhưng tôi không thể tìm thấy cách thực hiện trong PowerPoint.

(Ý tưởng là với một thuộc tính tài liệu, rất dễ thay đổi, ví dụ như nội dung của chân trang trong tất cả các trang chiếu, ngay cả khi bạn sử dụng các trang chính khác nhau. Nếu có một giải pháp khác, điều đó cũng tốt.)

Câu trả lời:


19

Trong khi Word có thể làm điều này, PowerPoint thì không thể. AFAIK, bạn có thể có các thuộc tính tài liệu trong PPT, nhưng bạn không thể chèn chúng trên một slide. Trường cập nhật duy nhất có sẵn cho PowerPoint là ngày và số slide. Dù sao, có thể có một số cách giải quyết trong VBA để đạt được điều này. Bạn có thể yêu cầu điều này trên Stackoverflow để nắm lấy cơ hội của bạn.



6

Chỉ cần viết một chương trình con để đặt các thuộc tính được đặt tên vào các đối tượng văn bản được gắn thẻ trên tất cả các slide.

Để đặt một thuộc tính tệp vào slide (s). Tạo một hộp văn bản để giữ chuỗi. Trong thuộc tính / Alt Text đặt tên thuộc tính vào dấu ngoặc vuông.

Sau đó thực hiện macro updateProperties().

tức là [title]- sẽ cho phép tiêu đề tài liệu được cập nhật trên nhiều

Hai thẻ đặc biệt đã được viết:

  • [copyright]sẽ chèn một chuỗi bản quyền, tức là © 1998-2013 P.Boothroyd, NIS Oskemen
  • [page] sẽ chèn số slide từ tab biên tập
  • 'Sao chép thuộc tính tài liệu vào tất cả các slide
    '(c) 2013, P.Boothroyd cho NIS Oskemen
    Dim processPage As Slide
    
    Cập nhật phụ ()
        Trang Dim Như Slide
        Dim propname As String
        'phân tích tất cả các slide trong phần trình bày đang hoạt động (tài liệu)
        Đối với mỗi processPage trong Application.ActivePftimeation.Slides
            'quét tất cả các thành phần của trang cho hộp văn bản với trường "altText / title" được gắn thẻ với "["
            Đối với mỗi obj Trong processPage.Shapes
                Nếu còn lại (obj.Title, 1) = "[" Sau đó
                    Dim sStart, sEnd As Integer
                    'trích xuất tài sản từ giữa dấu ngoặc vuông
                    Bắt đầu = 2
                    sEnd = InStr (2, obj.Title, "]")
                    propname = Trim (Giữa (obj.Title, sStart, sEnd - 2))
                    Nếu obj.Type = msoTextBox thì
                        'đặt hộp văn bản thành giá trị được yêu cầu
                        obj.TextFrame.TextRange.Text = getProperty (propname, obj.TextFrame.TextRange.Text)
                    Kết thúc nếu
                Kết thúc nếu
            Tiếp theo
        Trang tiếp theo
    Kết thúc phụ
    
    'có được thuộc tính tài liệu được đặt tên (với mặc định tùy chọn)
    Hàm getProperty (propname, Tùy chọn def As String) As String
        'thuộc tính được gán giá trị mặc định
        getProperty = def
        Dim được tìm thấy là Boolean
        tìm thấy = Sai
        propname = LCase (tên gọi)
    
        'bản quyền là một tài sản được tạo ra
        Nếu propname = "bản quyền" thì
            Tác giả Dim Như Chuỗi
            Công ty Dim Như Chuỗi
            Dim yearFrom As String
            Dim yearTo As String
    
            'nhận tất cả các biến thích hợp
            tác giả = getProperty ("tác giả", "")
            công ty = getProperty ("công ty", "")
            yearFrom = getProperty ("đã tạo", "")
            yearTo = Format (Bây giờ (), "YYYY")
    
            'chèn biểu tượng bản quyền
            getProperty = Chr (169) + ""
    
            'đính kèm khoảng thời gian cho thông báo bản quyền
            Nếu năm Từ năm đến sau đó
                getProperty = getProperty + yearFrom + "-"
            Kết thúc nếu
            getProperty = getProperty + nămTo
    
            'thêm tác giả
            getProperty = getProperty + "" + tác giả
    
            'thêm dấu phân cách cho tác giả / công ty nếu cả hai tồn tại
            Nếu Len (tác giả)> 0 Và Len (công ty)> 0 Sau đó
                getProperty = getProperty & ","
            Kết thúc nếu
            getProperty = getProperty & công ty
    
            'đã xử lý, vì vậy trả về giá trị
            tìm thấy = Đúng
        Kết thúc nếu
    
        'chèn số slide vào tài liệu
        Nếu propname = "trang" Sau đó
            getProperty = processPage.SlideNumber
            tìm thấy = Đúng
        Kết thúc nếu
    
        'nếu tên được tạo được tạo trả về giá trị
        Nếu tìm thấy thì GoTo ret
    
        'quét các thuộc tính MS (tệp) tiêu chuẩn của giá trị được đặt tên
        Đối với mỗi p Trong Ứng dụng.ActivePftimeation.BuiltInDocumentProperies
            Nếu LCase (p.Name) = propname Then
                getProperty = p.Giá trị
                tìm thấy = Đúng
                Thoát cho
            Kết thúc nếu
        Tiếp theo
    
        'quét các thuộc tính tùy chỉnh của giá trị được đặt tên
        Nếu tìm thấy thì GoTo ret
        Đối với mỗi p trong Application.ActivePftimeation.CustomDocumentProperIES
            Nếu LCase (p.Name) = propname Then
                getProperty = p.Giá trị
                tìm thấy = Đúng
                Thoát cho
            Kết thúc nếu
        Tiếp theo
    giữ lại:
    Chức năng kết thúc
    

    1

    Cách giải quyết là sử dụng các thuộc tính tùy chỉnh mà bạn có thể dễ dàng "Chuyển đến" (không cần phải lội qua các slide).

    Từ http://msdn.itags.org/powerpoint/4426/ :

    1. Chọn hình dạng hoặc văn bản mà bạn muốn đặt dấu trang.
    2. Chọn tệp | Thuộc tính ... và kích hoạt tab Tùy chỉnh.
    3. Nhập tên cho dấu trang.
    4. Đánh dấu vào 'Liên kết đến nội dung'. Giá trị được liệt kê trong hộp thả xuống liền kề khi bạn đánh dấu 'Liên kết đến nội dung' là một tham chiếu đến lựa chọn của bạn.
    5. Nhấp vào Thêm.
    6. Bấm OK để đóng hộp thoại Thuộc tính.

    Bây giờ bạn đã tạo một dấu trang, bạn có thể chuyển đến nó như sau:
    1. Chọn Chỉnh sửa | Thuộc tính Goto ...
    2. Nhấp vào tên Thuộc tính từ hộp thoại (đây là tên bạn đã đặt cho dấu trang).
    3. Nhấp vào Chuyển đến.

    Hộp thoại "Chuyển đến" hiển thị cho bạn một danh sách các dấu trang bạn có thể nhấp đúp và đi đến hộp văn bản yêu thích của mình, sẵn sàng để chỉnh sửa / dán vào.


    1

    Cách dễ nhất để thực hiện việc này trong Powerpoint (ít nhất là đối với các giá trị sẽ xuất hiện trên mỗi trang chiếu) là chỉnh sửa bản chiếu chính. Đặt tên tác giả ở đó.

    (Một lý do có thể mà Word cho phép bạn và không ai trong số những người khác làm là vì các nhóm khác nhau tại Microsoft hiếm khi nói chuyện với nhau ...)


    1
    Xem đoạn thứ hai trong câu hỏi của tôi: '... ngay cả khi bạn sử dụng các trang chính khác nhau ...'
    Rabarberski

    0

    Cập nhật mã xử lý với ppt 2019: Tôi đã thay đổi thói quen tiếp theo một chút, nguyên nhân là do người dùng phía trước dễ dàng thay đổi "Alternativetext" bằng nút chuột phải:

        For Each ShapeObj In processPage.Shapes
             If Left(ShapeObj.AlternativeText, 1) = "[" Then
            'If Left(ShapeObj.Title, 1) = "[" Then
                Dim sStart, sEnd As Integer
                ' extract property from between square brackets
                sStart = 2
                'sEnd = InStr(2, ShapeObj.Title, "]")
                sEnd = InStr(2, ShapeObj.AlternativeText, "]")
                'propname = Trim(Mid(ShapeObj.Title, sStart, sEnd - 2))
                propname = Trim(Mid(ShapeObj.AlternativeText, sStart, sEnd - 2))
                    ShapeObj.TextFrame.TextRange.Text = getProperty(propname, ShapeObj.TextFrame.TextRange.Text)
    
            End If
        Next ' obj
    
    Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
    Licensed under cc by-sa 3.0 with attribution required.