Sheryl thường xuyên tạo ra các tài liệu có rất nhiều bảng trong đó.

Mỗi bảng nhất quán ở chỗ chúng có bố cục chung giống nhau. (Mỗi cột chứa cùng một số cột với mỗi cột chứa cùng một loại thông tin.) Sheryl đang tìm cách để đảm bảo rằng độ rộng của các cột trong tất cả các bảng là nhất quán.

Giải pháp phụ thuộc vào thời điểm bạn cần tạo các bảng. Nếu tài liệu là một tài liệu mới, thì việc tạo các bảng theo cách nhất quán là khá dễ dàng. Như đã được mô tả trong WordTips khác (và tôi sẽ không đi sâu vào đây), bạn có thể lưu các bảng tiêu chuẩn của mình trong mục nhập Văn bản tự động hoặc tạo kiểu bảng xác định cách bạn muốn bảng của mình xuất hiện. Khi cần, bạn chỉ cần chèn mục nhập Văn bản tự động hoặc áp dụng kiểu và bảng sẽ xuất hiện như bạn mong muốn.

Giải pháp có liên quan nhiều hơn một chút nếu tài liệu của bạn đã được tạo và bạn chỉ muốn áp dụng tính nhất quán cho các bảng tồn tại trong tài liệu. Trong trường hợp đó, giải pháp là sử dụng macro để thay đổi độ rộng của các cột.

Có thể tạo một macro sẽ nhanh chóng lướt qua từng bảng trong tài liệu và làm cho mỗi cột trong bảng có cùng độ rộng, theo cách này:

Sub SetColumnWidths1()

Dim t As Table     For Each t In ActiveDocument.Tables         t.Columns.Width = InchesToPoints(2)

Next t End Sub

Tuy nhiên, rất có thể là bạn không muốn mỗi cột rộng 2 inch. Bạn có thể muốn mỗi cột có chiều rộng cụ thể, khác với các cột khác. Việc lặp lại macro sau xử lý khả năng đó:

Sub SetColumnWidths2()

Dim t As Table     For Each t In ActiveDocument.Tables         t.Columns(1).Width = InchesToPoints(2)

t.Columns(2).Width = InchesToPoints(2.5)

t.Columns(3).Width = InchesToPoints(3)

Next t End Sub

Hạn chế đối với macro như vậy là bạn cần xác định, trong mã hóa, chiều rộng của mỗi cột. Ngoài ra, nếu bạn có một bảng bất thường trong tài liệu của mình (nó không có cùng số cột như tất cả các bảng khác của bạn), thì macro sẽ cố gắng đặt chiều rộng của các cột.

Sau đó, một cách tiếp cận tốt hơn có thể là có một bảng “mô hình” trong tài liệu của bạn và sau đó đặt tất cả các bảng khác của bạn để chúng sử dụng cùng độ rộng cột với bảng đó. Một cách tiếp cận dễ dàng là định dạng thủ công độ rộng cột của bảng đầu tiên trong tài liệu, sau đó yêu cầu macro kiểm tra bảng đó và sử dụng nó làm mẫu cho các cột còn lại trong bảng.

Sub SetColumnWidths3()

Dim t As Table     Dim c As Column     Dim ccnt As Integer     Dim w() As Single     Dim J As Integer     Dim K As Integer

Set t = ActiveDocument.Tables(1)

ccnt = t.Columns.Count     ReDim w(ccnt)

J = 0     For Each c In t.Columns         J = J + 1         w(J) = c.Width     Next c

For J = 2 To ActiveDocument.Tables.Count         Set t = ActiveDocument.Tables(J)

If t.Columns.Count = ccnt Then             For K = 1 to ccnt                 t.Columns(K).Width = w(K)

Next K         Endif     Next J End Sub

Macro này kiểm tra số cột trong bảng đầu tiên (gán giá trị cho biến ccnt) và sau đó xem xét độ rộng của mỗi cột đó (gán giá trị cho mảng w). Sau đó, nó sẽ bước qua phần còn lại của các bảng trong tài liệu và nếu số cột trong bảng khớp với số trong biến ccnt, nó sẽ đặt độ rộng của mỗi cột thành độ rộng được lưu trữ trong mảng w. Kết quả là mỗi bảng trong tài liệu (tốt, ít nhất là những bảng có cùng số cột với bảng đầu tiên) có cùng độ rộng cột.

Có một lỗi tiềm năng ở đây: Nếu các bảng trong tài liệu của bạn sử dụng các ô đã hợp nhất theo bất kỳ cách nào, nó có thể làm rối kết quả bạn nhận được. Trong trường hợp đó, bạn sẽ muốn lưu tài liệu của mình trước khi chạy macro.

Bằng cách đó, bạn có thể kiểm tra kết quả một cách trực quan và sau đó hoàn nguyên về tài liệu đã lưu, nếu cần.

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 (11692) áp dụng cho Microsoft Word 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Word (Word 2007 và sau này) tại đây: