Word lưu giữ khá nhiều thông tin về hình ảnh mà bạn chèn vào tài liệu của mình. Thông tin này là cần thiết để Word biết cách đặt kích thước, vị trí và hiển thị hình ảnh. Nếu bạn muốn tìm hiểu thêm thông tin về hình ảnh trong tài liệu của mình, thì bạn cần biết một số điều về cách Word lưu trữ thông tin.

Hình ảnh được lưu trữ dưới dạng một trong hai loại đối tượng đồ họa: hình dạng thông thường hoặc hình dạng nội tuyến. Hình dạng thông thường là những hình dạng nằm trên lớp vẽ, trái ngược với hình dạng nội tuyến, nằm trong lớp văn bản. Cả hai loại đối tượng được lưu trữ với các bộ sưu tập đối tượng khác nhau. Các hình dạng thông thường nằm trong bộ sưu tập Hình dạng và các hình dạng nội tuyến được lưu trữ trong bộ sưu tập Hình dạng nội tuyến. Để truy cập thông tin về các đối tượng, bạn chỉ cần sử dụng một chút VBA.

Macro VBA sau tạo một tài liệu hiển thị kích thước của tất cả các đối tượng đồ họa trong tài liệu, theo cả điểm và pixel:

Sub FigureInfo()

Dim iShapeCount As Integer     Dim iILShapeCount As Integer     Dim DocThis As Document     Dim J As Integer     Dim sTemp As String

Set DocThis = ActiveDocument     Documents.Add

iShapeCount = DocThis.Shapes.Count     If iShapeCount > 0 Then         Selection.TypeText Text:="Regular Shapes"

Selection.TypeParagraph     End If     For J = 1 To iShapeCount         Selection.TypeText Text:=DocThis.Shapes(J).Name         Selection.TypeParagraph         sTemp = "     Height (points): "

sTemp = sTemp & DocThis.Shapes(J).Height         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (points): "

sTemp = sTemp & DocThis.Shapes(J).Width         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Height (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.Shapes(J).Height, True)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.Shapes(J).Width, False)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         Selection.TypeParagraph     Next J

iILShapeCount = DocThis.InlineShapes.Count     If iILShapeCount > 0 Then         Selection.TypeText Text:="Inline Shapes"

Selection.TypeParagraph     End If     For J = 1 To iILShapeCount         Selection.TypeText Text:="Shape " & J         Selection.TypeParagraph         sTemp = "     Height (points): "

sTemp = sTemp & DocThis.InlineShapes(J).Height         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (points): "

sTemp = sTemp & DocThis.InlineShapes(J).Width         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Height (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.InlineShapes(J).Height, True)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.InlineShapes(J).Width, False)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         Selection.TypeParagraph     Next J End Sub

Lưu ý rằng macro trả về tên của các hình dạng thông thường, nhưng không trả về tên của các hình dạng nội tuyến. Lý do cho điều này là Word không duy trì tên của các hình dạng nội tuyến. Khi bạn chèn một hình dạng thông thường vào tài liệu của mình (một lần nữa, trên lớp vẽ), thì Word sẽ gán tên cho hình dạng đó, chẳng hạn như Hình chữ nhật 2 hoặc Hình bầu dục 3.

_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 (8343) á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: