Đổi tên dấu trang trong Word 2010


13

Tôi thường sử dụng dấu trang trong Word để tạo tài liệu kỹ thuật có liên kết nội bộ đến trích dẫn và thông tin thường được sử dụng cần nhất quán trong toàn bộ tài liệu. Bạn có thể tạo chúng bằng cách chọn văn bản và sau đó vào menu Insert-> Links-> Bookmarkvà gán tên, sau đó đi đến Insert-> Links-> Citationsvà chọn dấu trang để chèn. Điều này sau đó sẽ chèn văn bản của dấu trang đó vào nơi khác trong tài liệu.

Ví dụ về lý do tại sao tôi làm điều này: Tôi thường có một trang đầu liệt kê trạng thái tài liệu và thông tin đó được lặp lại ở chân trang, sử dụng dấu trang tôi có thể thiết lập một liên kết đến văn bản đó và sau đó chỉ cần chèn liên kết đó vào chân trang và nó sẽ tự động cập nhật bất cứ khi nào tôi đi đến bản xem trước in hoặc cập nhật tất cả các trường trong tài liệu. Bằng cách này tôi có thể tránh thực hiện tìm kiếm và thay thế và chỉ cần biết rằng văn bản chính xác sẽ được cập nhật ở những nơi chính xác.

nhập mô tả hình ảnh ở đây

Bây giờ hãy nói rằng tôi có một dấu trang mà tôi vừa mới đặt tên, chỉ để đặt nó vào vị trí:
nhập mô tả hình ảnh ở đây

Không có nhấp chuột phải để đổi tên dấu trang và tôi không thể tìm thấy bất kỳ thuộc tính tài liệu nào sẽ cho phép tôi sửa đổi nó.

Tôi có thể chèn một dấu trang MỚI bằng cách chọn cùng một văn bản và sau đó xóa cái cũ nhưng sau đó bạn nhận được điều này:
nhập mô tả hình ảnh ở đây

Sau đó, bạn phải nhấp chuột phải vào trường và trỏ nó trở lại dấu trang (bây giờ được đổi tên một cách hiệu quả).

Điều này không hoàn toàn có thể sử dụng được, đặc biệt là trong một tài liệu lớn nơi dấu trang này được sử dụng nhiều lần.

Tôi đã Googled xung quanh và thấy một số tập lệnh VBA trên web như trong câu hỏi này nhưng vì chúng tạo ra một boomark mới và xóa cái cũ mà chúng tạo ra cùng một vấn đề như trên và ít lý tưởng hơn.

Có cách nào đơn giản hoặc hiệu quả hơn để đổi tên dấu trang trong tài liệu Word không? Hay tôi có thể sử dụng Wrong Tool ™ cho công việc này?


Ý bạn là Word 2013, thay vì 2010?
Hy Lạp - Đề xuất khu vực 51

@LePressentiment Bản sao Word của tôi là 2010, nhưng tôi không hiểu tại sao câu trả lời dưới đây sẽ không áp dụng cho năm 2013 trừ khi họ đã đại tu đáng kể tính năng đánh dấu giữa các phiên bản. Tôi thực sự ngạc nhiên nếu họ có.
Mokubai

@LePressentiment Xem câu trả lời của tôi đã được cập nhật bởi Mokubai.
DavidPostill

Câu trả lời:


7

Có cách nào đơn giản hoặc hiệu quả hơn để đổi tên dấu trang trong tài liệu Word không?

Không có chức năng đổi tên tích hợp thành Word. Có một vài lựa chọn để giải quyết vấn đề này:

  1. Sử dụng một bổ trợ.

  2. Sử dụng VBA.


Giải pháp bổ trợ

Sử dụng bổ trợ công cụ Bookmark

Nó cung cấp một giao diện người dùng thân thiện để làm mọi thứ mà hộp thoại Bookmark tiêu chuẩn sẽ làm được nhiều hơn thế.

Công cụ Bookmark được phát triển cho Word 2003. Nó hoàn toàn hoạt động với Word 2007/2010.

...

Với phần "Thêm / Đổi tên Bookmark", việc thêm dấu trang rất dễ dàng.

  • Như trong hộp thoại tiêu chuẩn, bạn chỉ cần chọn văn bản, nhập tên vào trường và nhấp vào "Thêm."
  • Không giống như hộp thoại tiêu chuẩn, Công cụ Bookmark hạn chế nhập khóa vào các ký tự tên dấu trang hợp lệ và thông báo cho bạn nếu bạn cố gắng tạo một tên dấu trang trùng lặp.
  • Bạn cũng có thể sử dụng phần này để đổi tên một dấu trang hiện có.

    nhập mô tả hình ảnh ở đây

Công cụ đánh dấu nguồn bổ trợ


Giải pháp VBA

Không có chức năng đổi tên. Bạn phải xóa tên cũ và đánh dấu phạm vi bằng một tên dấu trang mới. Đây là mã VBA mẫu:

Sub ReNameBookMark()
    Dim doc As Word.Document
    Dim rng As Word.Range
    Dim bmk As Word.Bookmark
    Dim inpBookmark, repBookmark, fieldStr As String

    Set doc = Word.ActiveDocument

    inpBookmark = InputBox("Enter bookmark name that you want to be replaced:", "BookMark Replace")
    repBookmark = InputBox("Enter bookmark name replace with:", "BookMark Replace")

    Set rng = doc.Bookmarks(inpBookmark).Range
    Set bmk = doc.Bookmarks(inpBookmark)
    bmk.Delete
    rng.Bookmarks.Add (repBookmark)

    If doc.Fields.Count >= 1 Then
        For i = 1 To doc.Fields.Count
            fieldStr = doc.Fields(i).Code.Text
            If Left(fieldStr, 4) = " REF" Then
                doc.Fields(i).Code.Text = Replace(fieldStr, inpBookmark, repBookmark, , 1, vbTextCompare)
                doc.Fields(i).Update
            End If

            'MsgBox "Code = " & doc.Fields(i).Code & vbCr & "Result = " & doc.Fields(i).Result & vbCr
        Next i
    End If
End Sub

Nguồn Thay đổi "tên" của dấu trang không phải là văn bản của nó , với một vòng lặp bổ sung để chạy qua các trường trong tài liệu để thay đổi bất kỳ cái nào có thể tham chiếu đến dấu trang được đổi tên.

Cần thận trọng khi sử dụng tập lệnh này. Ví dụ: đổi tên bất kỳ dấu trang nào được đặt tên đơn giản là "REF" (hoặc biến thể chữ hoa hoặc chữ thường) sẽ phá vỡ TẤT CẢ các tham chiếu theo những cách thú vị và bất ngờ. Điều này có nghĩa là một ví dụ và chỉ sửa chữa thô.

Nếu bạn muốn đổi tên hàng loạt nhiều dấu trang trong một lần, hãy xem Có cách nào đơn giản hơn hoặc hiệu quả hơn để đổi tên dấu trang trong tài liệu Word không? trong đó cũng bao gồm mã VBA mẫu.


@Mokubai Có vẻ như bạn có thể làm điều này với Bổ trợ (xem câu trả lời cập nhật)? Thật không may, tôi không có bản sao Word để kiểm tra với ...
DavidPostill

Tôi sẽ cho addin kiểm tra vào buổi sáng khi tôi quay lại PC. Nó có thể tốt cho gia đình, nhưng tại nơi làm việc tôi không nghĩ rằng tôi có thể sử dụng nó vì bộ phận CNTT của chúng tôi có thể cảnh giác với những thứ đó. Tôi sẽ thử cả hai phương pháp và xem liệu tôi có thể cải thiện tập lệnh VBA của bạn để thực hiện tìm kiếm và thay thế không. Nếu tôi đến một nơi nào đó và nó ổn với bạn, tôi muốn chỉnh sửa nó thành câu trả lời của bạn.
Mokubai

@LePressentiment Trong trường hợp có bất kỳ trợ giúp nào cho những gì bạn muốn, tôi đã thêm một số tính năng vào tập lệnh VBA ở trên để cung cấp cho bạn hộp đầu vào cho tên hiện tại và tên mới và thực hiện tìm kiếm bẩn và thay thế trong các trường tham chiếu đến các dấu trang đó. Nó không hoàn hảo, nhưng tốt hơn là không có gì và sẽ phù hợp hơn với những gì tôi cần làm trong công việc.
Mokubai

Công cụ đánh dấu bổ trợ ngắt tham chiếu đến dấu trang sau khi đổi tên chúng (đối với tôi trong Word 365 trên Windows).
quay phim21

1

Tôi đã có vấn đề tương tự và tình cờ tìm thấy công việc này xung quanh / giải pháp.

Đối với văn bản mà bạn muốn tham chiếu, một tiêu đề trong trường hợp của tôi, hãy thiết lập tiêu đề thuộc tính Tài liệu như sau:

Insert tabQuick PartsDocument PropertyTitle

Điều này sau đó thêm một hộp có thể chỉnh sửa cho văn bản mà bạn có thể nhập tiêu đề của mình.

Sau đó, để tham chiếu nó, bạn có thể chỉ cần truy cập Insert tabQuick PartsFieldTitlehoặc làm như những gì tôi đã vô tình - Tôi đã thiết lập một tài liệu tham khảo và khi tôi cập nhật nó với F9hộp tiêu đề mà nó đang tham chiếu.

Điều này khá thú vị vì khi bạn cập nhật hộp tiêu đề, tất cả các tham chiếu đều tự động cập nhật mà không cần nhấn F9!!! Điều này thật tuyệt khi bạn có tham chiếu trong một tiêu đề vì chức năng Ctrl+ Akhông nắm bắt được những gì trong tiêu đề / chân trang và bạn thường phải nhấp đúp vào bên trong tiêu đề / chân trang để chọn và nhấn F9để cập nhật.

Vì vậy, thay vì tạo một tham chiếu tiêu đề như đã nêu ở trên, hãy làm điều này:

  • Sau khi thiết lập hộp tiêu đề, hãy tạo một Bookmark của hộp Tiêu đề:

    • Chọn hộp tiêu đề (đảm bảo bạn nhấp vào tab tiêu đề ở trên cùng để chọn tất cả các hộp)
    • InsertBookmark→ (tên nó nói Project_title) →add
  • Sau đó thêm tài liệu tham khảo như thế này:

    • Insert tabQuick PartsFieldRef(và chọn Project_titlehoặc bất cứ điều gì bạn gọi nó)
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.