Khi ảnh được chèn vào trang tính Excel bằng phương pháp Shapes.AddPicture (...), Excel sẽ tự động đặt tên cho nó là "Hình 1", "Hình 2".Cách lấy tên nội bộ của Hình dạng trong Excel
Tên này có thể được sử dụng để tham chiếu đến đối tượng hình dạng này trong Bộ sưu tập hình dạng như Shapes.Item ("Hình 1"). Nếu tên được thay đổi trong Excel bằng cách sử dụng Hộp tên, có hai tên khác nhau (hoặc một trong số chúng là khóa/Chú thích) mà qua đó đối tượng Hình dạng có thể được tham chiếu. Vì vậy, nếu tôi thay đổi tên thành "MyPic" Tôi có thể sử dụng bất kỳ trong số này để tham khảo một hình dạng trong bộ sưu tập Shapes:
Shapes.Item("Picture 1")
OR
Shapes.Item("MyPic")
Tên có thể được truy cập bằng tài sản Shape.Name trong VBA nhưng làm thế nào chúng ta có thể truy cập khác giá trị (MyPic) mà dường như không thay đổi trong nội bộ?
CẬP NHẬT
Điều tôi đang cố gắng làm là liên kết ô với hình ảnh trong Excel. Tôi giữ dữ liệu hình ảnh trong bình luận của ô. Đây là các tình huống:
- Nếu tôi giữ tên ảnh (tên bên ngoài) sao chép tên và ô sẽ trỏ đến cùng một cấu trúc.
- Nếu tôi giữ tên nội bộ thì sao chép-dán vào trang tính khác sẽ tạo ra vấn đề giống như tên nội bộ có thể tồn tại trên một số trang tính khác trong cùng một bảng tính.
- Nếu tôi lấy ID, tôi sẽ không thể để có được những tài liệu tham khảo Hình ảnh từ nó
Đối với tôi nhận được tên nội bộ là rất quan trọng. Tôi có tham chiếu hình dạng nhưng không có ý tưởng làm thế nào để có được tên nội bộ từ ref này.
+1: "Nếu bạn biết chỉ mục thì bạn có thể tạo tên thay thế" Hình n "- điều này có thể không đúng vì nếu ảnh ở chỉ mục 2 bị xóa khỏi bộ sưu tập hình dạng, chúng tôi có thể có" Hình ảnh 3 "tại chỉ số 2. Tôi không nghĩ rằng tên nội bộ sẽ được thay đổi để phù hợp với chỉ mục. – A9S6
Nếu tôi thêm một hình dạng trong VBA, giá trị trả về từ Shapes.AddPicture (...) sẽ cho tôi tham chiếu đến nó để không cần phải làm một hình dạng (Đếm) ở đây. Ngoài ra, đối với một đối tượng mới được tạo, cả tên nội bộ và tên hiển thị sẽ giống nhau, do đó, shape.Name sẽ hoạt động tại thời điểm đó. Vấn đề là làm thế nào để có được tên nội bộ bằng cách sử dụng tham chiếu hình dạng sau này (người dùng có thể đã thay đổi tên hiển thị) – A9S6
Nếu bạn có một tham chiếu hợp lệ cho một đối tượng hình dạng thì Shape.name sẽ cung cấp cho bạn tên bên ngoài của nó. –