Dave rất thích cách in một bảng định kiểu đầy đủ tính năng cho tài liệu của mình. Anh ta biết rằng anh ta có thể chọn in “Kiểu” trong hộp thoại In, nhưng anh ta muốn có một biểu định kiểu hiển thị các kiểu thực tế, chẳng hạn như màu sắc, kích thước, phông chữ, v.v.

Thật không may, không có khả năng này trong Word. Tuy nhiên, bạn có thể tạo biểu định kiểu theo ý thích của mình bằng cách sử dụng macro. Ví dụ, phần sau sẽ chèn, trong tài liệu hiện tại, tên của tất cả các kiểu có sẵn trong tài liệu. Mỗi tên kiểu nằm trên một dòng (đoạn) riêng và được định dạng bằng các kiểu khác nhau.

Sub ListStyleNames()

Dim s As Style

For Each s In ActiveDocument.Styles         With Selection             .Style = s             .TypeText (s.NameLocal)

.TypeParagraph         End With     Next s End Sub

Cách tiếp cận như vậy, mặc dù tiện dụng cho một danh sách ngắn gọn các kiểu, nhưng không nhiều thông tin hơn những gì có thể được in bằng cách sử dụng ký hiệu “Kiểu” trong hộp thoại In. Tuy nhiên, nó cung cấp một cơ sở mà người ta có thể xây dựng để tạo ra một style sheet đầy đủ tính năng hơn.

Vấn đề với việc tạo một biểu định kiểu chi tiết bằng cách sử dụng macro là các kiểu có thể chứa rất nhiều thông tin. Mô hình đối tượng được sử dụng bởi Word (và có thể truy cập được trong VBA) nhanh chóng trở nên khá phức tạp khi kiểm tra các kiểu để xem chúng chứa những gì. Đây chỉ là một ví dụ đơn giản để cung cấp cho bạn hương vị:

Sub SimpleStyleSheet()

Dim s As Style     Dim sOutput As String     Dim sTemp As String     Dim StyleTypes(4) As String

StyleTypes(1) = "Paragraph"

StyleTypes(2) = "Character"

StyleTypes(3) = "Table"

StyleTypes(4) = "List"



For Each s In ActiveDocument.Styles         sOutput = s.NameLocal & vbCrLf         sOutput = sOutput & "   Style type: " & StyleTypes(s.Type) & vbCrLf         sTemp = s.BaseStyle         If Len(sTemp) > 0 Then             sOutput = sOutput & "   Based on: " & s.BaseStyle & vbCrLf         End If         sOutput = sOutput & "   Font: " & s.Font.Name         sTemp = ""

If s.Font.Bold Then sTemp = sTemp & "Bold, "

If s.Font.Italic Then sTemp = sTemp & "Italic, "

If Len(sTemp) > 0 Then             sTemp = Left(sTemp, Len(sTemp) - 2)

sOutput = sOutput & " (" & sTemp & ")"

End If         sOutput = sOutput & vbCrLf & vbCrLf         Selection.TypeText (sOutput)

Next s End Sub

Điều duy nhất mà macro này làm là liệt kê tất cả các kiểu, kiểu kiểu của chúng, liệu chúng có dựa trên một kiểu khác hay không (và nếu có, kiểu đó được đặt tên là gì), phông chữ được sử dụng bởi kiểu nào và liệu phông chữ đậm hoặc nghiêng. Bất kỳ ai quen thuộc với phong cách sẽ ngay lập tức hiểu rằng một vài mục này chỉ là một mẫu nhỏ của những gì có thể được xác định trong một phong cách. Để kiểm tra tất cả các định dạng kiểu có thể có và in chúng trong biểu định kiểu sẽ làm cho macro rất dài.

Mặc dù vậy, macro này có thể hữu ích vì nó cung cấp ý tưởng về cách kết hợp bảng định kiểu của riêng bạn. Bạn chỉ cần tìm ra những gì bạn muốn xem trong biểu định kiểu và sau đó thêm mã macro để xác định thông tin đó và in ra.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.

(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (13365) áp dụng cho Microsoft Word 2007, 2010, 2013, 2016, 2019 và Word trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Word tại đây: