2013-06-14 65 views
11

Tôi đã thấy rất nhiều bài đăng về chúng tôi xlApp.activesheet.Pictures.Insert(strImagePath) để chèn hình ảnh vào bảng tính với VBA, hoạt động rất tốt. Vấn đề duy nhất là nó chèn nó như là một hình ảnh liên kết. Vì vậy, nếu tôi gửi bảng tính ra khỏi mạng của chúng tôi thì hình ảnh sẽ không thành công. Bất cứ ai có thể cho tôi biết làm thế nào để sử dụng Pictures.Insert để đặt hình ảnh như là một hình ảnh nhúng, hoặc có thể một phương pháp mà sẽ đặt nó nhúng? Tôi cũng gọi phương thức này từ truy cập nếu điều đó giúp ích chút nào.VBA để chèn hình ảnh nhúng excel

Trả lời

18

bạn có thể sử dụng phương pháp shapes.addpicture

activesheet.Shapes.AddPicture Filename:="C:\test\desert.jpg", linktofile:=msoFalse, _ 
      savewithdocument:=msoCTrue, Left:=0, Top:=0, Width:=100, Height:=100 
+0

Cảm ơn @JosieP! Điều này làm việc tuyệt vời. Bây giờ tôi đang cố gắng gán nó cho một đối tượng Shape để tôi có thể thực hiện một số điều chỉnh. Tôi đã làm 'Dim shpPic như Shape' và' Set shpPic = xlApp.activesheet.Shapes.AddPicture ... 'và tôi gặp lỗi không khớp kiểu. Bất kỳ ý tưởng tại sao? – DasPete

+0

dựa trên phần xlApp tôi đoán bạn đang tự động hóa từ một ứng dụng khác mà ứng dụng đó có đối tượng hình dạng? nếu sử dụng 'dim shpPic như Excel.Shape' – JosieP

+0

Xin chào @JosieP, vâng tôi đang gọi từ Access. Tôi không thể sử dụng 'Excel.Shape' vì tôi không muốn tham chiếu đến thư viện Excel vì tôi có người dùng với một phạm vi rộng lớn các hệ thống. Tôi tuyên bố ví dụ excel của tôi như thế này: 'Dim xlApp như Object'' Đặt xlApp = CreateObject ("Excel.Application") 'Vì vậy, tôi đã cố gắng' Dim shpPic = xlApp.Shape' và mang lại cho tôi "Người dùng định nghĩa loại không xác định" lỗi. Bất kỳ ý tưởng? – DasPete

0

Lưu ý rằng bạn có thể thiết lập Width yêu cầu và thông số Height là -1, sau đó duy trì chiều cao và chiều rộng của hình ảnh ban đầu!

Activesheet.Shapes.AddPicture Filename:="C:\image.jpg", LinkToFile:=msoFalse, _ 
     SaveWithDocument:=msoTrue, Left:=0, Top:=0, Width:=-1, Height:=-1 

http://excelmatters.com/2013/11/25/default-picture-size-with-shapes-addpicture/

(Added như một câu trả lời để tăng tầm nhìn như tôi đã phải vật lộn với vấn đề này cho các lứa tuổi và đã không tìm thấy giải pháp này ghi lại bất cứ nơi nào khác.)

Các vấn đề liên quan