วิธีค้นหาตัวแปรเอกสารใน MS Word โดยไม่ต้องใช้แมโคร


10

ฉันมีเอกสารที่มีตัวแปรเอกสารอยู่และฉันพยายามใช้ตัวแปรเหล่านั้นในเอกสาร แต่เนื่องจากตัวแปรถูกกำหนดโดยระบบภายนอก (ซึ่งไม่ได้บันทึกไว้อย่างดี) ฉันกำลังเล่นเกมเดา ฉันถือว่าตัวแปรที่มี "วันที่แก้ไขล่าสุด" มีอยู่แล้วเริ่มคาดเดาสิ่งที่ตัวแปรนั้นอาจถูกเรียกว่า

มีวิธีในการแสดงรายการตัวแปรเอกสารทั้งหมดในเอกสาร MS Word และค่าของมันเพื่อให้สามารถค้นหาได้เมื่อใช้พวกเขาในเอกสารหรือไม่? (ฉันกำลังทำงานกับ MS Office 2010)

คำตอบ:


13

Word มี "ตัวแปร" หลายประเภทมีหลายสิ่งที่เรียกว่า "ตัวแปรเอกสาร" แต่มีสิ่งอื่น ๆ ที่ฉันจะเรียกว่า "คุณสมบัติ" - ฉันจะลองรายการประเภทหลักด้านล่าง

มีสถานที่ไม่กี่แห่งใน Word ที่คุณสามารถค้นหาคุณสมบัติบางประเภทได้ แต่สำหรับ "ตัวแปร" จริงและคุณสมบัติประเภทอื่น ๆ หากคุณไม่สามารถใช้แมโครหรือรหัสอื่นคุณต้องเปิดเครื่องรูดไฟล์. docx และ ดูไฟล์ต่าง ๆ ในนั้น

สถานที่ที่คุณสามารถดูได้ใน Word 2010 (ไม่แสดงตัวแปรเอกสารที่นี่) ...

ใน "Backstage" - ดูที่แท็บไฟล์ตัวเลือกข้อมูลและคุณควรเห็นคุณสมบัติบางรายการทางด้านขวา คลิก "แสดงคุณสมบัติทั้งหมด" ที่ด้านล่างของรายการและคุณอาจเห็นมากขึ้น

ข ในแท็บแทรกกลุ่มข้อความชิ้นส่วนด่วน -> คุณสมบัติคุณจะเห็นรายการ "คุณสมบัติที่มีอยู่ภายใน + คุณสมบัติบางส่วนหรือทั้งหมดที่แทรกโดย Sharepoint หากนั่นคือสิ่งที่คุณกำลังใช้

ค. ใน "แผงข้อมูลเอกสาร" (DIP) หากคุณไม่เห็นให้ไปที่เมนูไฟล์แล้วเลือกตัวเลือกจากนั้นพูดแถบเครื่องมือด่วน เลือก "เลือกคำสั่ง" ภายใต้ "คำสั่งทั้งหมด" จากนั้นมองหา "คุณสมบัติ" เลือกและคลิกปุ่มเพิ่ม จากนั้นคุณควรเห็นไอคอนในแถบเครื่องมือด่วนที่มี "i" สีขาวขนาดเล็กตัดกับพื้นหลังสีน้ำเงินแบบวงกลม คลิกที่นั้นและคุณควรเห็นคุณสมบัติบางอย่างในตัว (ผู้แต่งชื่อเรื่อง ฯลฯ ) หรือคุณสมบัติ "ชนิดเนื้อหา" ของ Sharepoint หากคุณใช้ SharePoint คุณสามารถพลิกดูหนึ่งในหลายมุมมองได้ หากคุณคลิกดรอปดาวน์ที่ด้านบนซ้ายของกรมทรัพย์สินทางปัญญาแล้วเลือก "คุณสมบัติขั้นสูง" คุณจะเห็นกล่องโต้ตอบหลายแท็บที่แสดง

  • คุณสมบัติ "builtin" บางอย่าง

  • "คุณสมบัติเอกสารแบบกำหนดเองที่กำหนดโดยผู้ใช้แบบเก่า"

สำหรับทุกอย่างอื่นคุณอาจต้องดูใน XML ใน. docx ในการทำเช่นนั้นให้ทำสำเนาเอกสารของคุณ สมมติว่าสำเนาเรียกว่า mydoc.docx เปลี่ยนชื่อเป็น mydoc.docx.zip เปิด zip จากนั้นมองหาสิ่งต่าง ๆ ตามที่แนะนำด้านล่าง ...

ตัวแปรเอกสารจริงจะถูกเก็บไว้ในโฟลเดอร์คำใน settings.xml ในองค์ประกอบที่เรียกว่า w: docVars คุณควรเห็นชื่อและค่าสำหรับแต่ละตัวแปร คุณสามารถแทรกค่าของตัวแปรเอกสารในเอกสารของคุณโดยใช้ฟิลด์ {DOCVARIABLE Variablename}

ข คุณสมบัติเอกสารในตัวรวมถึงสิ่งต่าง ๆ เช่นผู้แต่งชื่อเรื่อง ฯลฯ ในกรณีส่วนใหญ่ค่าสามารถแทรกลงในเอกสารโดยใช้ช่องทาง spcialised เช่น {AUTHOR} หรือในบางกรณีฟิลด์ {DOCPROPERTY} แม้ว่ามันจะยุ่งหน่อย แต่ก็มีรายชื่อมาตรฐาน คุณสามารถค้นหาค่าส่วนใหญ่ได้ในโฟลเดอร์ docProps ในไฟล์ core.xml และ app.xml อย่างไรก็ตามบางส่วน ("คุณสมบัติของหน้าปก") จะถูกเก็บไว้หากใช้ในหนึ่งในไฟล์ "item.xml" (เช่น "item1.xml" ในโฟลเดอร์ customXml

ค. คุณสมบัติเอกสารที่กำหนดเองแบบเก่าที่ผู้ใช้กำหนดเองซึ่งส่วนใหญ่ประกอบด้วยคู่ของชื่อ / ค่าที่สามารถแทรกค่าลงในเอกสารโดยใช้ฟิลด์ {DOCPROPERTY} เช่น {DOCPROPERTY mycustomproperty} สิ่งเหล่านี้จะปรากฏในกล่องโต้ตอบคุณสมบัติขั้นสูง .... แต่ใน. docx จะอยู่ในไฟล์ custom.xml ในโฟลเดอร์ docProps

d คุณสมบัติที่กำหนดเองสไตล์ใหม่หรือที่เรียกว่า "คุณสมบัติ Sharepoint" หรือ "คุณสมบัติประเภทเนื้อหา" เนื่องจากมักจะสร้างและเติมข้อมูลจากคอลัมน์ในรายการ Sharepoint ค่าจะถูกเก็บไว้ใน "ส่วน XML ที่กำหนดเอง" และสามารถแทรกโดยใช้การควบคุมเนื้อหาซึ่งได้รับการตั้งค่าให้ชี้ไปที่บิตของ XML ที่เกี่ยวข้อง (Word 2007 และใหม่กว่าเท่านั้น) ใน. docx คุณจะพบจำนวน "schemas" สำหรับตัวแปรเหล่านี้และค่าของตัวแปรในโฟลเดอร์ customXML ในไฟล์ชื่อ "item1.xml", "item2.xml" เป็นต้น

อี ท้ายที่สุดผู้พัฒนาสามารถใส่ส่วน XML ที่กำหนดเองของตนเองลงในเอกสาร Word และเชื่อมต่อการควบคุมเนื้อหาเข้ากับองค์ประกอบและแอตทริบิวต์ในส่วน XML ที่กำหนดเองเหล่านั้น ฉันจะไม่พยายามเข้าไปดูรายละเอียดของวิธีการทำ แต่คุณจะพบข้อมูลในไฟล์ item1.xml, item2.xml และอื่น ๆ ภายใต้ customXML อย่างไรก็ตามในการค้นหาเนื้อหาควบคุมตัวเองชื่อและสิ่งที่พวกเขาเชื่อมต่อด้วยโดยทั่วไปคุณจะต้องค้นหาในโฟลเดอร์คำเช่น document.xml และอาจจะเป็นหนึ่งใน "หัว" และ "ท้ายกระดาษ" อย่างน้อยหนึ่งรายการ ไฟล์ xml


คำตอบที่ดี ขอบคุณ! One note: "b. ในแท็บแทรก, กลุ่มข้อความ, ชิ้นส่วนด่วน -> คุณสมบัติ, คุณควรเห็นรายการ" คุณสมบัติที่สร้างขึ้นภายใน + คุณสมบัติบางส่วนหรือทั้งหมดที่แทรกโดย Sharepoint หากนั่นคือสิ่งที่คุณใช้ "ในการตั้งค่าของฉัน ดูเหมือนว่าชิ้นส่วนด่วนจะไม่มี "คุณสมบัติ"
ผู้ใช้บางคน

ข้อผิดพลาดของฉัน - ที่ควรเป็นส่วนด่วน -> คุณสมบัติเอกสาร

คุณสมบัติและ DocVariables ดูเหมือนจะค่อนข้างคล้ายคลึงกับวิธีที่คุณใช้ในฟิลด์คำและ VBA มีการแลกเปลี่ยนหรือไม่?
BenPen

5

ฉันมีปัญหาที่คล้ายกัน กล่องเครื่องมือของบุคคลที่สามบางตัวหยุดทำงานและฉันต้องตั้งค่าตัวแปร

มันค่อนข้างหยาบ แต่นี่คือโค้ด VBA ที่ฉันเคาะขึ้นซึ่งจะแสดงรายการตัวแปรทั้งหมดในการActiveDocument.Variablesรวบรวม

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

คุณสามารถสร้างแมโครใหม่และทิ้งไว้ในนั้นซึ่งควรให้ข้อมูลแก่คุณ เมื่อคุณพบชื่อของตัวแปรที่คุณสนใจคุณสามารถตั้งค่าได้

ActiveDocument.Variables("MyVariable") = "Value"

2
ขอบคุณมาก ๆ เป็นเรื่องที่แย่มากที่ Microsoft ไม่ได้จัดเรียงตัวเลือกล่วงหน้าของหน้าต่างตัวเลือกที่คุณให้คอลเลกชันนั้นและคุณจะได้รับหน้าต่างสองคอลัมน์ที่ปรากฏขึ้นซึ่งช่วยให้คุณสามารถเลือกหนึ่งรายการหรือมากกว่าจากคอลเล็กชัน (หรือเพิ่มค่าใหม่ให้ คอลเลกชันจริง) จากนั้นอนุญาตให้โค้ด VBA ของคุณเข้าถึงรายการที่เลือกในการเรียก / ฟังก์ชั่นย่อย
BenPen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.