Automatycznie przedefiniuj wymiary pola komentarza, aby pasowały do ​​obrazu tła w programie Excel


0

W programie Excel powiedzmy, że wybrałem obraz, na przykład test.jpeg, jako tło komentarza. Chcę, aby pole komentarza miało wymiary test.jpeg. Ponieważ planuję mieć setki takich komentarzy, moje pytanie brzmi: czy istnieje sposób na zautomatyzowanie tego?

Odpowiedzi:


2

Poprawiłem makro VBA. Otwórz edytor VBA za pomocą ALT+ F11i wklej poniższy kod w arkuszu 1 . Uruchom makro za pomocą ALT+F8

Co robi makro

  1. Poproś użytkownika o ścieżkę do zdjęcia, które chce wstawić (może to być jpg, bmp lub png)
  2. Załaduj to zdjęcie jako WIA.imageFile. Później używamy objImage.Heighti, objImage.Widthaby uzyskać rzeczywiste wymiary obrazu.

    Ta metoda była najkrótszą, jaką znalazłem, aby uzyskać wymiary w pikselach (inne metody VBA mogą dać ci bzdury . To okropny wynalazek)

  3. Wstaw pusty komentarz do aktualnie wybranej komórki, jeśli nie ma tam już starego komentarza
  4. Ustaw wybrane zdjęcie jako obraz tła dla kształtu komentarza
  5. Zmień rozmiar kształtu kształtu komentarza, aby obraz idealnie pasował
Sub InsertComment()

    Dim strImagePath As Variant
    Dim objImage As Object

    strImagePath = Application.GetOpenFilename("Picture, *.jpg; *.png; *.bmp")
    If strImagePath = False Then Exit Sub

    Set objImage = CreateObject("WIA.ImageFile")
    objImage.LoadFile strImagePath

    With ActiveCell
        If .Comment Is Nothing Then .AddComment ("")
        .Comment.Shape.Fill.UserPicture strImagePath
        .Comment.Shape.Height = objImage.Height * 0.75
        .Comment.Shape.Width = objImage.Width * 0.75
    End With

End Sub

Całkowicie spoko !! .......... nigdy wcześniej nie widziałem obiektu WIA.ImageFile
Student Gary'ego

Rzeczywiście bardzo fajnie! Dokładnie tego szukałem. Tylko uwaga: wydaje się, że wymiary komentarza są większe niż wymiary obrazu. Na przykład, kiedy patrzę na szczegóły jednego z obrazów JPEG, które widzę, widzę, że jego wymiary to 290 x 420 pikseli. Komentarz ma wymiary 10,24 x 14,82 cm. Ale zgodnie z tym konwerterem powinien on wynosić 7,67 x 11,11 cm.
Gość
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.