Powerpoint: Belge özelliği (aka 'alan') slayda nasıl eklenir?


31

PowerPoint 2007'deki bir slayta bir belge özelliğini (örneğin yazarın adı) nasıl ekleyebilirim? Bunun Microsoft Word'de yapılabileceğini biliyorum, ancak PowerPoint'te nasıl yapıldığını bulamıyorum.

(Fikir, bir belge özelliğiyle, örneğin farklı ana sayfalar kullanıyor olsanız bile, tüm slaytlardaki altbilginin içeriğini değiştirmenin kolay olmasıdır.) Farklı bir çözüm varsa, bu da iyi olur.)

Yanıtlar:



6

Adlandırılmış özellikleri tüm slaytlarda etiketli metin nesnelerine koymak için bir alt yordam yazdım.

Bir dosya özelliğini slaytların üzerine koymak için. Dizeyi tutmak için bir metin kutusu oluşturun. Properties / Alt Text'de özellik adını köşeli parantez içine alın.

Sonra makroyu yürütün updateProperties().

yani, [title]- belge başlığının birden fazla günde güncellenmesine izin verir

İki özel etiket yazılmıştır:

  • [copyright]bir telif hakkı dizesini ekleyecekti, örneğin © 1998-2013 P.Boothroyd, NIS Oskemen
  • [page] slayt numarasını düzenleyici sekmesinden ekler
  • Belge özelliklerini tüm slaytlara kopyala
    '(c) 2013, P.Boothis NIS Oskemen
    Dim processPage Slayt Olarak
    
    Alt updateProperties ()
        Slayt olarak Asılı sayfa
        Dim propname, String Olarak
        'Etkin sunumdaki tüm slaytları ayrıştır (belge)
        Application.ActivePresentation.Slides içindeki her bir işlem sayfası için
            'sayfanın tüm elemanlarını "altText / title" alanını "[" ile etiketli metin kutusu için tara
            ProcessPage.Shapes içindeki Her nesne için
                Sol ise (obj.Title, 1) = "[" Öyleyse
                    Dim sStart, sEnd Tamsayı Olarak
                    'köşeli parantezler arasında mülkü çıkar
                    sStart = 2
                    sEnd = InStr (2, obj.Title, "]")
                    propname = Kırpma (Orta (obj.Title, sStart, sEnd - 2))
                    Eğer obj.Type = msoTextBox Öyleyse
                        'metin kutusunu istenen değere ayarlayın
                        obj.TextFrame.TextRange.Text = getProperty (propname, obj.TextFrame.TextRange.Text)
                    Bittiğinde
                Bittiğinde
            Sıradaki 'obj
        Sonraki Sayfa
    Son Alt
    
    'adlandırılmış belge özelliğini al (isteğe bağlı varsayılanla)
    İşlev getProperty (propname, İsteğe bağlı def As Dize) Dize Olarak
        'özelliği varsayılan değeri atadı
        getProperty = def
        Boolean olarak bulunan Dim
        found = False
        propname = LCase (propname)
    
        'telif hakkı, üretilen bir mülktür
        Eğer propname = "telif hakkı" ise
            Dim yazar Dize olarak
            Dize olarak Dim şirket
            Dize As Yıldan Dize
            Dim yearTo String olarak
    
            uygun tüm değişkenleri al
            author = getProperty ("yazar", "")
            company = getProperty ("şirket", "")
            yearFrom = getProperty ("yaratıldı", "")
            yearTo = Biçim (Şimdi (), "YYYY")
    
            'telif hakkı sembolünü ekle
            getProperty = Chr (169) + ""
    
            'telif hakkı bildirimi için yıl aralığı ekle
            Eğer yıldan yıla
                getProperty = getProperty + yearFrom + "-" öğesinden
            Bittiğinde
            getProperty = getProperty + yearTo
    
            'yazar ekle
            getProperty = getProperty + "" + yazar
    
            'ikisi de varsa, yazar / şirket için ayırıcı ekle
            Eğer Len (yazar)> 0 Ve Len (şirket)> 0 Sonra
                getProperty = getProperty & ","
            Bittiğinde
            getProperty = getProperty & şirketi
    
            'işlendi, bu yüzden değeri döndür
            found = True
        Bittiğinde
    
        'slayt numarasını belgeye ekle
        Eğer propname = "page" ise
            getProperty = processPage.SlideNumber
            found = True
        Bittiğinde
    
        'Eğer oluşturulan isim yaratıldıysa değeri döndür
        Bulunduğunda GoTo ret
    
        'belirtilen değerin standart MS (dosya) özelliklerini tara
        Application.ActivePresentation.BuiltInDocumentProperties'deki Her p için
            Eğer LCase (p.Name) = propname Sonra
                getProperty = p.Value
                found = True
                Çık
            Bittiğinde
        Sıradaki 'p
    
        'belirtilen değerin özelleştirilmiş özelliklerini tara
        Bulunduğunda GoTo ret
        Application.ActivePresentation.CustomDocumentProperties'deki Her p için
            Eğer LCase (p.Name) = propname Sonra
                getProperty = p.Value
                found = True
                Çık
            Bittiğinde
        Sıradaki 'p
    ret:
    Son İşlev
    

    1

    Bir geçici çözüm, kolayca "Git" e gidebileceğiniz özel özellikleri kullanmaktır (slaytlarda gezinmeye gerek yoktur).

    Gönderen http://msdn.itags.org/powerpoint/4426/ :

    1. Yer imi ayarlamak istediğiniz şekli veya metni seçin.
    2. Dosya Seç | Özellikler ... ve Özel sekmesini etkinleştirin.
    3. Yer imi için bir ad yazın.
    4. 'İçeriğe bağlantı' seçeneğini işaretleyin. 'İçeriğe bağla' seçeneğini işaretlediğinizde bitişik açılır kutuda listelenen değer, seçiminize bir referanstır.
    5. Ekle'ye tıklayın.
    6. Özellikler iletişim kutusunu kapatmak için Tamam'ı tıklayın.

    Artık bir yer imi oluşturduğuna göre, şu şekilde atlayabilirsin:
    1. Düzenle | Özellik
    Yap ... 2. İletişim kutusundan Özellik adını tıklayın (bu, yer imine verdiğiniz addır).
    3. Git üzerine tıklayın.

    "Git" iletişim kutusu size çift tıklayabileceğiniz bir yer imleri listesi sunar ve düzenlenmeye / yapıştırılmaya hazır favori metin kutularına gider.


    1

    Bunu Powerpoint'te yapmanın en kolay yolu (en azından her slaytta görünecek değerler için) slayt yöneticisini düzenlemektir. Yazar adını oraya yazın.

    (Word'ün size izin vermesi ve diğerlerinin hiçbirinin yapmamasının olası bir nedeni, Microsoft'taki çeşitli ekiplerin nadiren birbirleriyle konuşmasıdır ...)



    0

    Ppt 2019 ile kod tanıtımı güncellemesi: Bir sonraki rutini biraz değiştirdim, bunun nedeni bir ön uç kullanıcısının "alternativetext" i farenin sağ tuşu ile değiştirmesini kolaylaştırması:

        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
    
    Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
    Licensed under cc by-sa 3.0 with attribution required.