Cara menemukan variabel dokumen dalam MS Word tanpa menggunakan Makro

10

Saya memiliki dokumen dengan beberapa variabel dokumen dan saya mencoba menggunakan variabel-variabel tersebut dalam dokumen. Tetapi karena variabel ditetapkan oleh sistem eksternal (yang tidak didokumentasikan dengan baik) saya memainkan permainan tebak. Saya berasumsi variabel dengan "tanggal revisi terakhir" ada dan kemudian mulai menebak apa variabel itu mungkin disebut.

Apakah ada cara untuk membuat daftar semua variabel dokumen dalam dokumen MS Word dan nilainya sehingga orang dapat mencarinya saat menggunakannya dalam dokumen? (Saya sedang mengerjakan MS Office 2010)

beberapa pengguna
sumber

Jawaban:

13

Word memiliki sejumlah jenis "variabel" yang berbeda, Ada hal-hal yang dikenal sebagai "Variabel Dokumen", tetapi ada hal-hal lain yang akan saya sebut "properti" - Saya akan mencoba mendaftar jenis utama di bawah ini.

Ada beberapa tempat di Word yang bisa Anda cari untuk menemukan beberapa jenis properti, tetapi untuk "variabel" yang sebenarnya dan jenis properti lainnya, jika Anda tidak bisa menggunakan makro atau kode lain, Anda perlu unzip file .docx dan lihat berbagai file di sana.

Tempat yang dapat Anda lihat dalam Word 2010 (tidak ada Variabel Dokumen yang ditampilkan di sini) ...

Sebuah. Di "Backstage" - lihat tab File, opsi Info, dan Anda akan melihat beberapa properti terdaftar di sebelah kanan. Klik "Tampilkan Semua Properti" di bagian bawah daftar dan Anda mungkin melihat lebih banyak.

b. Di tab Sisipkan, Grup teks, Properti Quick Parts->, Anda akan melihat daftar "Properti bawaan + beberapa atau semua properti yang dimasukkan oleh Sharepoint jika itu yang Anda gunakan.

c. Di "Document Information Panel" (DIP). Jika Anda tidak melihat itu, buka menu File lalu Opsi, lalu (katakanlah) Bilah Alat Akses Cepat. Pilih "Pilih Perintah" di bawah "Semua Perintah", lalu cari "Properti", pilih, dan klik tombol Tambah. Anda kemudian akan melihat ikon di bilah alat Akses Cepat yang memiliki "i" putih kecil dengan latar belakang biru melingkar. Klik itu, dan Anda akan melihat beberapa properti bawaan (Penulis, Judul dll.) Atau beberapa properti "Tipe konten" Sharepoint, jika Anda menggunakan SharePoint. Anda mungkin dapat beralih antara satu dari beberapa tampilan di sana. Jika Anda kemudian klik dropdown di kiri atas DIP dan pilih "Advanced Properties", Anda akan melihat kotak dialog multi-tab yang menunjukkan

  • beberapa properti "builtin"

  • Properti Dokumen Kustom gaya lama "yang ditentukan pengguna".

Untuk yang lainnya, Anda mungkin harus melihat XML di .docx. Untuk melakukan itu, buat salinan dokumen Anda. Katakanlah salinannya disebut mydoc.docx. Ganti nama itu menjadi mydoc.docx.zip, buka zipnya, lalu cari sejumlah hal, seperti yang disarankan di bawah ini ...

Sebuah. true Document Variables disimpan di folder word, di settings.xml, dalam sebuah elemen bernama w: docVars. Anda harus melihat nama dan nilai untuk setiap variabel. Anda bisa memasukkan nilai-nilai Variabel Dokumen dalam dokumen Anda menggunakan bidang {DOCVARIABLE variablename}.

b. Properti dokumen builtin, termasuk hal-hal seperti penulis, judul dll. Dalam kebanyakan kasus, nilai-nilai dapat dimasukkan dalam dokumen menggunakan bidang spcialised seperti {AUTHOR}, atau dalam beberapa kasus {DOCPROPERTY} bidang. Meskipun agak berantakan, ada daftar nama standar. Anda dapat menemukan sebagian besar nilai di folder docProps di file core.xml dan app.xml. Namun, beberapa ("Properti Halaman Sampul") disimpan, jika digunakan, di salah satu file "item.xml" (mis. "Item1.xml" di folder customXml.

c. properti dokumen kustom gaya lama "yang ditentukan pengguna" yang sebagian besar terdiri dari pasangan nama / nilai yang nilainya dapat dimasukkan dalam dokumen menggunakan bidang {DOCPROPERTY}, misalnya {DOCPROPERTY mycustomproperty}. Ini ditampilkan dalam dialog Advanced Properties ...., tetapi dalam .docx mereka ada di file custom.xml di folder docProps.

d. properti kustom gaya baru, juga dikenal sebagai "properti Sharepoint" atau "properti tipe konten," karena mereka sering dibuat dan diisi dari kolom dalam daftar Sharepoint. Nilai-nilai disimpan dalam "Bagian XML Kustom" dan dapat dimasukkan menggunakan Kontrol Konten yang telah diatur untuk menunjuk ke bit XML yang relevan. (Word 2007 dan yang lebih baru saja). Di .docx, Anda akan menemukan sejumlah "skema" untuk variabel-variabel ini, dan nilai-nilai variabel dalam folder customXML, dalam file bernama "item1.xml", "item2.xml" dll.

e. akhirnya, setiap pengembang dapat menempatkan bagian XML kustom mereka sendiri ke dalam dokumen Word, dan menghubungkan Kontrol Konten ke elemen dan atribut di bagian XML kustom tersebut. Saya tidak akan mencoba masuk ke detail tentang bagaimana hal itu dilakukan, tetapi Anda akan menemukan data dalam file item1.xml, item2.xml dll di bawah customXML. Namun, untuk menemukan kontrol konten sendiri, nama mereka dan apa yang mereka terhubung juga, Anda biasanya perlu melihat di folder kata di, misalnya document.xml, dan mungkin satu atau lebih dari "header" dan "footer". file xml.

Chris
sumber
Jawaban yang bagus Terima kasih! Satu catatan: "b. Pada tab Sisipkan, Grup teks, Properti Quick Parts->, Anda akan melihat daftar" Properti bawaan + beberapa atau semua properti yang dimasukkan oleh Sharepoint jika itu yang Anda gunakan. "Dalam pengaturan saya Bagian Cepat sepertinya tidak memiliki "Properti"
beberapa pengguna
Kesalahan saya - yang seharusnya Quick Parts-> Document Property
Properti dan DocVariables tampak sangat mirip dalam cara Anda dapat menggunakannya di bidang kata dan VBA. Apakah ada pengorbanan?
BenPen
5

Saya mengalami masalah yang sama. Beberapa kotak alat pihak ketiga mogok dan saya perlu menetapkan nilai variabel.

Agak kasar tapi di sini ada beberapa kode VBA yang saya ketuk yang akan mendaftar semua variabel dalam ActiveDocument.Variableskoleksi;

Public Sub ListAllVariables()
    Dim V As Variable, S As String
    For Each V In ActiveDocument.Variables
        S = S & V.Name & vbTab & V.Value & vbNewLine
    Next V
    MsgBox S
End Sub

Anda dapat membuat makro baru dan membuangnya di sana, yang akan memberi Anda informasi. Setelah menemukan nama variabel yang Anda minati, Anda dapat mengaturnya dengan

ActiveDocument.Variables("MyVariable") = "Value"
Steztric
sumber
2
Ini keren, terima kasih. Sayang sekali bahwa Microsoft tidak menyediakan semacam jendela pemetik pra-paket yang Anda berikan koleksi dan Anda mendapatkan jendela pop up dua kolom yang memungkinkan Anda memilih satu atau lebih item dari koleksi (atau menambahkan nilai baru ke koleksi aktual) dan kemudian memungkinkan kode VBA Anda untuk mengakses item yang dipilih di sub / fungsi panggilan.
BenPen