Baru saja menulis sebuah subrutin untuk memasukkan properti bernama ke objek teks yang ditandai pada semua slide.
Untuk menempatkan properti file ke slide. Buat kotak teks untuk menahan string. Dalam properti / Teks Alt masukkan nama properti ke dalam tanda kurung siku.
Kemudian jalankan makro updateProperties()
.
yaitu [title]
- akan memungkinkan judul dokumen diperbarui pada banyak
Dua tag khusus telah ditulis:
[copyright]
akan memasukkan string hak cipta, yaitu © 1998-2013 P.Boothroyd, NIS Oskemen
[page]
akan memasukkan nomor slide dari tab editor
'Salin properti dokumen ke semua slide
'(c) 2013, P.Boothroyd untuk NIS Oskemen
Dim processPage As Slide
Sub pembaruanProperti ()
Halaman redup Sebagai Slide
Dim propname As String
parsing semua slide dalam presentasi aktif (dokumen)
Untuk Setiap Proses Halaman Dalam Aplikasi. Presentasi Aktif
'pindai semua elemen halaman untuk kotak teks dengan tag "altText / title" dengan "["
Untuk Setiap obj Di processPage.Shapes
If Left (obj.Title, 1) = "[" Lalu
Dim sMulai, sEnd Sebagai Integer
'Ambil properti dari antara kurung kotak
sStart = 2
sEnd = InStr (2, obj.Title, "]")
propname = Trim (Pertengahan (obj.Title, sStart, sEnd - 2))
Jika obj.Type = msoTextBox Lalu
'atur kotak teks ke nilai yang diminta
obj.TextFrame.TextRange.Text = getProperty (propname, obj.TextFrame.TextRange.Text)
Berakhir jika
Berakhir jika
Keberatan selanjutnya
Halaman selanjutnya
End Sub
dapatkan properti dokumen bernama (dengan default opsional)
Fungsi getProperty (propname, Def opsional As String) Sebagai String
'Properti menetapkan nilai default
getProperty = def
Dim menemukan As Boolean
ditemukan = Salah
propname = LCase (propname)
'Hak cipta adalah properti yang dihasilkan
If propname = "copyright" Lalu
Penulis redup As String
Dim company As String
Dim yearFrom As String
Dim yearTo As String
dapatkan semua variabel yang sesuai
author = getProperty ("author", "")
company = getProperty ("company", "")
yearFrom = getProperty ("dibuat", "")
yearTo = Format (Sekarang (), "YYYY")
'masukkan simbol hak cipta
getProperty = Chr (169) + ""
'lampirkan rentang tahun untuk pemberitahuan hak cipta
Jika tahun Dari tahun Lalu
getProperty = getProperty + yearFrom + "-"
Berakhir jika
getProperty = getProperty + yearTo
'tambahkan penulis
getProperty = getProperty + "" + penulis
'tambahkan pemisah untuk penulis / perusahaan jika keduanya ada
Jika Len (penulis)> 0 Dan Len (perusahaan)> 0 Lalu
getProperty = getProperty & ","
Berakhir jika
getProperty = getProperty & company
'diproses, jadi kembalikan nilainya
ditemukan = Benar
Berakhir jika
'masukkan nomor slide ke dalam dokumen
If propname = "page" Lalu
getProperty = processPage.SlideNumber
ditemukan = Benar
Berakhir jika
'Jika nama yang dihasilkan dibuat mengembalikan nilai
Jika ditemukan Kemudian GoTo ret
memindai untuk properti MS (file) standar dari nilai yang disebutkan
Untuk Setiap p Di Application.ActivePresentation.BuiltInDocumentProperties
If LCase (p.Name) = propname Then
getProperty = p.Value
ditemukan = Benar
Keluar untuk
Berakhir jika
Selanjutnya
'memindai properti yang disesuaikan dari nilai yang disebutkan
Jika ditemukan Kemudian GoTo ret
Untuk Setiap p Dalam Aplikasi. Aktiva Presentasi. Properti Kustom Properti
If LCase (p.Name) = propname Then
getProperty = p.Value
ditemukan = Benar
Keluar untuk
Berakhir jika
Selanjutnya
membasahi:
Fungsi Akhir