Steve có một tài liệu với văn bản cho biết vị trí nên đặt hình ảnh. Văn bản này bao gồm tên hình ảnh (chẳng hạn như “image01.jpg”)

trong ngoặc đơn. Anh ấy đang tìm cách tự động thay thế từng tên ảnh bằng ảnh thực.

Điều này không thể được thực hiện với khả năng Tìm và Thay thế thông thường của Word, nhưng nó có thể được thực hiện bằng cách sử dụng macro. Ý tưởng sẽ là tìm kiếm văn bản đánh dấu (tên hình ảnh) trong tài liệu và nếu tìm thấy văn bản này, hãy lấy tên hình ảnh và thay thế văn bản đánh dấu bằng hình ảnh thực tế. Đây là một macro thực hiện các bước sau:

Sub ReplaceImages()

Dim sMarkerText As String     Dim sFigName As String     Dim sFigPath As String

' Change to the path to the pictures, with a trailing slash.

sFigPath = "C:\Users\Steve\Pictures\"



' Change to marker text. Can include wildcards.

sMarkerText = "(image??.jpg)"



' Search through document for marker text     Selection.Find.ClearFormatting     With Selection.Find         .Text = sMarkerText         .Replacement.Text = ""

.Forward = True         .Wrap = wdFindContinue         .Format = True         .MatchCase = False         .MatchWholeWord = False         .MatchWildcards = False         .MatchSoundsLike = False         .MatchAllWordForms = False     End With     Selection.Find.Execute     While Selection.Find.Found         ' Found a match, so grab name         ' Need to adjust for parens in marker text         sFigName = Mid(Selection, 2, Len(Selection) - 2)



' Delete the marker text         Selection.Delete

Có hai thứ bạn cần sửa đổi trong mã macro: các giá trị được lưu trữ trong các biến sFigPath và sMarkerText. Nội dung sMarkerText, như được hiển thị, sẽ khớp với bất kỳ dấu ngoặc đơn nào có từ “hình ảnh”

theo sau là hai ký tự (chẳng hạn như 01, 02, 97 hoặc XY) và “.jpg”

sự mở rộng.

Phương thức Tìm của đối tượng Lựa chọn thực hiện một hành động Tìm thực sự cho lần xuất hiện đầu tiên của văn bản đánh dấu. Nếu nó được tìm thấy, thì mã trong vòng lặp While …​ Wend sẽ phát huy tác dụng. Thao tác này lấy tên tệp và gán nó cho biến sFigName. Sau đó, văn bản đánh dấu được tìm thấy sẽ bị xóa và một hình ảnh nội tuyến được chèn vào vị trí của nó. Cuối cùng, dòng Selection.Find.Execute tìm lần xuất hiện tiếp theo của văn bản đánh dấu, nếu có.

Macro chèn hình ảnh vào dòng và không thực hiện thêm bất kỳ xử lý nào trên chúng.

_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 (10135) áp dụng cho Microsoft Word 2007, 2010, 2013, 2016, 2019 và Word trong Office 365.