Phương thức sao chép đối tượng trong Excel VBA
Tôi đang cố gắng sử dụng phương thức duplicate của Excel VBA để sao chép một biểu đồ. Mã đã tạo ra một biểu đồ sao chép, nhưng khi tôi thử sử dụng copyPicture, tôi nhận được lỗi này.
Lỗi thời gian chạy '440':
Phương thức 'CopyPicture' của đối tượng 'Shape' đã thất bại
Đây là đoạn mã. Tôi đã thêm dòng (hiện đã được chú thích) để đảm bảo rằng hàm CopyPicture thực sự hoạt động - ít nhất là từ đối tượng cần sao chép. Tôi đang làm việc trên Excel 2007 nhưng tôi đã thử trên Excel 2013 và gặp lỗi tương tự.
Đây là đường dẫn đến bản sao của tệp xlsm trên Google Drive.
https://drive.google.com/file/d/0Bxu8hnkSZhMGVGhadzMwRUxBOEU/view?usp=sharing
Sub x()
Dim dup As Object
'Sheets(1).ChartObjects(1).CopyPicture
Đặt dup = Sheets(1).ChartObjects(1).Duplicate
dup.CopyPicture
End Sub
Cảm ơn bất cứ ai có thể giúp đỡ tôi.
Trả lời:
Bạn có dự đoán được bất kỳ vấn đề nào có thể phát sinh trong tương lai không?
Chờ chút, mình đi lấy quả cầu pha lê… nó đâu rồi… chết tiệt, mình không tìm thấy nó nữa, làm ơn hãy quay lại… à… tương lai. ;-)))
Gợi ý:
Khi bạn khai báo biến là Object (nghĩa là không có kiểu dữ liệu cụ thể), tính năng IntelliSense sẽ không hoạt động trong trình soạn thảo VBA.
Hãy thử dùng "Dim dup As Chart" rồi viết "dup." vào trình soạn thảo VBA, bạn sẽ nhận được một danh sách thả xuống hiển thị tất cả các thành viên có thể có.
Nếu không, hãy kiểm tra các cài đặt này trong Công cụ\Tùy chọn:
Andreas.
Comments
Post a Comment