Cách tìm biến tài liệu trong MS Word mà không cần sử dụng Macro


10

Tôi có tài liệu với một số biến tài liệu và tôi đang cố gắng sử dụng các biến đó trong tài liệu. Nhưng vì các biến được đặt bởi một hệ thống bên ngoài (không được ghi chép rõ ràng) nên tôi đang chơi một trò chơi đoán. Tôi giả sử một biến có "ngày sửa đổi cuối cùng" tồn tại và sau đó bắt đầu đoán xem biến đó có thể được gọi là gì.

Có cách nào để liệt kê tất cả các biến tài liệu trong tài liệu MS Word và các giá trị của chúng để người ta có thể tra cứu chúng khi sử dụng chúng trong tài liệu không? (Tôi đang làm việc trên MS Office 2010)

Câu trả lời:


13

Word có một số loại "biến" khác nhau, Có những thứ được gọi là "Biến tài liệu", nhưng có những thứ khác mà tôi sẽ gọi là "thuộc tính" - Tôi sẽ cố gắng liệt kê các loại chính bên dưới.

Có một vài vị trí trong Word bạn có thể tìm để tìm một số loại thuộc tính, nhưng đối với "biến" thực và các loại thuộc tính khác, nếu bạn không thể sử dụng macro hoặc mã khác, bạn sẽ cần giải nén tệp .docx và nhìn vào các tập tin khác nhau trong đó

Các địa điểm bạn có thể tìm trong Word 2010 (không có Biến tài liệu nào được hiển thị tại đây) ...

a. Trong "Hậu trường" - nhìn vào tab Tệp, tùy chọn Thông tin và bạn sẽ thấy một số thuộc tính được liệt kê ở bên phải. Nhấp vào "Hiển thị tất cả các thuộc tính" ở cuối danh sách và bạn có thể thấy nhiều hơn.

b. Trong tab Chèn, nhóm Văn bản, Phần nhanh-> Thuộc tính, bạn sẽ thấy danh sách "Thuộc tính tích hợp + một số hoặc tất cả các thuộc tính được chèn bởi Sharepoint nếu đó là những gì bạn đang sử dụng.

c. Trong "Bảng thông tin tài liệu" (DIP). Nếu bạn không thấy điều đó, hãy vào menu Tệp rồi Tùy chọn, sau đó (nói) Thanh công cụ truy cập nhanh. Chọn "Chọn lệnh" trong "Tất cả các lệnh", sau đó tìm "Thuộc tính", chọn nó và nhấp vào nút Thêm. Sau đó, bạn sẽ thấy một biểu tượng trong thanh công cụ Truy cập nhanh có chữ "i" nhỏ màu trắng trên nền màu xanh hình tròn. Bấm vào đó và bạn sẽ thấy một số thuộc tính dựng sẵn (Tác giả, Tiêu đề, v.v.) hoặc một số thuộc tính "Kiểu nội dung" của Sharepoint, nếu bạn đang sử dụng SharePoint. Bạn có thể có thể lật giữa một trong nhiều chế độ xem trong đó. Nếu sau đó bạn nhấp vào menu thả xuống ở phía trên bên trái của DIP và chọn "Thuộc tính nâng cao", bạn sẽ thấy hộp thoại nhiều tab hiển thị

  • một số thuộc tính "dựng sẵn"

  • Thuộc tính tài liệu tùy chỉnh kiểu cũ "do người dùng định nghĩa".

Đối với mọi thứ khác, có lẽ bạn sẽ phải tìm trong XML trong .docx. Để làm điều đó, tạo một bản sao của tài liệu của bạn. Giả sử bản sao được gọi là mydoc.docx. Đổi tên thành mydoc.docx.zip, mở zip, sau đó tìm một số thứ, như được đề xuất dưới đây ...

a. Các biến tài liệu thực được lưu trữ trong thư mục word, trong settings.xml, trong một phần tử có tên w: docVars. Bạn sẽ thấy một tên và một giá trị cho mỗi biến. Bạn có thể chèn các giá trị của Biến tài liệu trong tài liệu của mình bằng trường {DOCVARIABLE matrixblename}.

b. Thuộc tính tài liệu dựng sẵn, bao gồm những thứ như tác giả, tiêu đề, v.v. Trong hầu hết các trường hợp, các giá trị có thể được chèn vào tài liệu bằng cách sử dụng các trường spcialised như {AUTHOR} hoặc trong một số trường hợp các trường {DOCPROPERTY}. Mặc dù nó hơi lộn xộn, nhưng có một danh sách tiêu chuẩn của tên. Bạn có thể tìm thấy hầu hết các giá trị trong thư mục docProps trong các tệp core.xml và app.xml. Tuy nhiên, một số ("Thuộc tính trang bìa") được lưu trữ, nếu được sử dụng, trong một trong các tệp "item.xml" (ví dụ: "item1.xml" trong thư mục customXml.

c. thuộc tính tài liệu tùy chỉnh "do người dùng định nghĩa" kiểu cũ, chủ yếu bao gồm các cặp tên / giá trị có giá trị có thể được chèn vào tài liệu bằng các trường {DOCPROPERTY}, ví dụ {DOCPROPERTY mycustomproperty}. Chúng được hiển thị trong hộp thoại Advanced Properties ...., nhưng trong .docx, chúng nằm trong tệp custom.xml trong thư mục docProps.

d. thuộc tính tùy chỉnh kiểu mới, còn được gọi là "thuộc tính Sharepoint" hoặc "thuộc tính loại nội dung", vì chúng thường được tạo và điền từ các cột trong danh sách Sharepoint. Các giá trị được lưu trữ trong "Các phần XML tùy chỉnh" và có thể được chèn bằng Điều khiển nội dung đã được thiết lập để trỏ đến bit có liên quan của XML. (Chỉ từ 2007 trở lên). Trong .docx, bạn sẽ tìm thấy một số "lược đồ" cho các biến này và các giá trị của các biến trong thư mục customXML, trong các tệp có tên "item1.xml", "item2.xml", v.v.

e. cuối cùng, bất kỳ nhà phát triển nào cũng có thể đặt các phần XML tùy chỉnh của riêng họ vào tài liệu Word và kết nối Điều khiển nội dung với các thành phần và thuộc tính trong các phần XML tùy chỉnh đó. Tôi sẽ không cố gắng đi vào chi tiết về cách thực hiện, nhưng bạn sẽ tìm thấy dữ liệu trong các tệp item1.xml, item2.xml, v.v. trong customXML. Tuy nhiên, để tự tìm nội dung kiểm soát, tên của chúng và những gì chúng được kết nối, bạn thường cần phải tìm trong thư mục từ, ví dụ: document.xml và có lẽ một hoặc nhiều "tiêu đề" và "chân trang". tập tin xml.


Câu trả lời chính xác. Cảm ơn! Một lưu ý: "b. Trong tab Chèn, nhóm Văn bản, Phần nhanh-> Thuộc tính, bạn sẽ thấy danh sách" Thuộc tính tích hợp + một số hoặc tất cả các thuộc tính được chèn bởi Sharepoint nếu đó là những gì bạn đang sử dụng. " Bộ phận nhanh dường như không có "Thuộc tính"
một số người dùng

Lỗi của tôi - đó phải là Bộ

Các thuộc tính và Tài liệu có vẻ khá giống nhau về cách bạn có thể sử dụng chúng trong các trường từ và VBA. Có sự đánh đổi nào không?
BenPen

5

Tôi đã có một vấn đề tương tự. Một số hộp công cụ của bên thứ ba đã bị sập và tôi cần đặt giá trị biến.

Nó hơi thô nhưng đây là một số mã VBA tôi đã gõ lên sẽ liệt kê tất cả các biến trong ActiveDocument.Variablesbộ sưu tập;

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

Bạn có thể tạo một macro mới và đổ nó vào đó, nó sẽ cung cấp cho bạn thông tin. Khi bạn đã tìm thấy tên của biến bạn quan tâm, bạn có thể đặt nó với

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

2
Điều này là khá mát mẻ, cảm ơn. Thật tệ khi Microsoft không cung cấp một loại cửa sổ chọn được đóng gói sẵn mà bạn cung cấp cho nó một bộ sưu tập và bạn nhận được một cửa sổ bật lên hai cột cho phép bạn chọn một hoặc nhiều mục từ bộ sưu tập (hoặc thêm một giá trị mới vào bộ sưu tập thực tế) và sau đó cho phép mã VBA của bạn truy cập vào các mục đã chọn trong chức năng / chức năng gọi điện.
BenPen 4/11/2016
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.