Bài viết này sẽ hướng dẫn bạn chuyển đổi hình ảnh sản phẩm từ liên kết hình ảnh sản phẩm trong tệp CSV để giúp cho quá trình xử lý đơn hàng tiết kiệm thời gian và chính xác hơn. Khi thực hiện xử lý nhiều đơn hàng cùng lúc, thay vì phải mở thông tin chi tiết từng đơn hàng để xem hình ảnh sản phẩm, hình ảnh biến thể sản phẩm để gửi khách hàng cho chính xác, việc chèn hình ảnh sản phẩm trong tệp CSV sẽ giúp bạn nắm được thông tin chính xác về sản phẩm cần gửi khi chỉ phải mở và kiểm tra thông tin trên tệp CSV.
Nội dung bài viết
A. Xuất các đơn hàng với liên kết hình ảnh tương ứng ở định dạng CSV
B. Chuyển đổi liên kết hình ảnh sản phẩm thành hình ảnh thực tế của sản phẩm
A. Xuất các đơn hàng với liên kết hình ảnh tương ứng ở định dạng CSV


+
tương ứng với các trường thông tin. Sau khi được chọn, các trường thông tin này sẽ hiển thị ở cột Vùng xuất (Fields To Export)
như hình dưới đây.

Vui lòng kiểm tra kỹ để đảm bảo các trường thông tin thuộc các cột được phân tách rõ ràng, tránh trường hợp chuyển đổi từ liên kết hình ảnh sản phẩm thành ảnh sản phẩm gặp lỗi.
B. Chuyển đổi liên kết hình ảnh sản phẩm thành hình ảnh thực tế của sản phẩm


Sau đó tab Developer sẽ được hiển thị trên Microsoft Excel như hình dưới đây.



Sub URLPictureInsert()
Rows("2:7").RowHeight = 60
Dim Pshp As Shape
Dim xRg As Range
Dim xCol As Long
On Error Resume Next
Application.ScreenUpdating = False
Set Rng = ActiveSheet.Range("C2:C7")
For Each cell In Rng
filenam = cell
ActiveSheet.Pictures.Insert(filenam).Select
Set Pshp = Selection.ShapeRange.Item(1)
If Pshp Is Nothing Then GoTo lab
xCol = cell.Column + 1
Set xRg = Cells(cell.Row, xCol)
With Pshp
.LockAspectRatio = msoFalse
If .Width > xRg.Width Then .Width = xRg.Width * 2 / 3
If .Height > xRg.Height Then .Height = xRg.Height * 2 / 3
.Top = xRg.Top + (xRg.Height - .Height) / 2
.Left = xRg.Left + (xRg.Width - .Width) / 2
End With
lab:
Set Pshp = Nothing
Range("A2").Select
Next
Application.ScreenUpdating = True
End Sub

Trong đoạn mã phía trên, có một số giá trị tùy biến bạn có thể thay đổi như Rows("2:7") để xác định phạm vi của tất cả các dòng thông tin sản phẩm trong tệp CSV (trong ví dụ này là dòng thứ 2 đến dòng thứ 7), RowHeight = 60 là chiều cao của các dòng trong tệp CSV (trong ví dụ này là 60 pixels), ActiveSheet.Range("C2:C7") là tọa độ của các ô chứa liên kết hình ảnh sản phẩm (trong ví dụ này là từ ô C2 xuống ô C7).
Với đoạn mã này, bạn không thể chỉ định kích thước của hình ảnh được chuyển đổi theo nhu cầu của bạn.
Đoạn mã trên chỉ có thể giúp bạn trích xuất hình ảnh sản phẩm vào các ô thuộc cột bên phải cột Lineitem Image chứa liên kết sản phẩm, bạn không thể chỉ định ô tùy ý để xuất hình ảnh.


Vui lòng đợi đoạn mã hoàn tất quá trình chuyển đổi hình ảnh từ liên kết hình ảnh sản phẩm, thời gian này phụ thuộc vào số hàng mà tệp CSV có (ước tính sẽ mất khoảng 10 phút cho một tệp có 650 dòng.)
Lưu tệp ở định dạng .xlsx để tệp hoạt động bình thường khi bạn gửi tệp đi.
Sau đó, tất cả các hình ảnh được chuyển đổi từ các liên kết hình ảnh sản phẩm sẽ hiển thị ngay cột bên phải cột Lineitem Image tương ứng với mỗi sản phẩm như hình dưới:
