Sửa đổi mã VB trong MS Word để thay đổi gói văn bản hình ảnh


2

Trong mã này để thay đổi kích thước hình ảnh:

Sub resize()
Dim i As Long
With ActiveDocument
  For i = 1 To .InlineShapes.Count
        With .InlineShapes(i)
            .ScaleHeight = 50
            .ScaleWidth = 50
        End With
    Next i
End With
End Sub

Tôi muốn bao gồm một lệnh để thay đổi gói văn bản từ mặc định (nội tuyến) thành 'trên cùng và dưới cùng'. Tôi cần thêm mã nào?

Câu trả lời:


0

Một hình dạng nội tuyến không có văn bản gói, chỉ có hình dạng thông thường làm, vì vậy bạn phải chuyển đổi hình dạng nội tuyến. Khi thực hiện việc này theo kiểu lặp khi macro được thiết lập để thực hiện, tổng số hình dạng nội tuyến trong tài liệu sẽ thay đổi theo mỗi lần lặp và tổng số mới được tính toán lại. Trong trường hợp tốt nhất, điều này thực sự có thể làm chậm quá trình và trong trường hợp xấu nhất, các đối tượng có thể bị bỏ lỡ.

Cách khắc phục là làm việc ngược từ hình dạng nội tuyến cuối cùng sang hình đầu tiên.

Sub resize()
Dim i As Long, rng As Range
With ActiveDocument
    For i = .InlineShapes.Count To 1 Step -1
        With .InlineShapes(i)
            .ScaleHeight = 50
            .ScaleWidth = 50
            Set rng = .Range
            .ConvertToShape
            rng.ShapeRange(1).WrapFormat.Type = wdWrapTopBottom
        End With
    Next i
End With
End Sub
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.