Ссылка на ячейку, содержащую путь к файлу
Я использую следующий код, чтобы захватить и изменить размер изображения из файла, чтобы я мог распечатать его как часть формы.
Private Sub CommandButton1_Click() ActiveSheet.Pictures.Insert ("C:\Filepath\Example.jpg") With ActiveSheet.Shapes(ActiveSheet.Shapes.Count) .LockAspectRatio = True 'maintain aspect-ratio .Top = Range("B2").Top .Left = Range("B2:H2").Left .Width = Range("B2:H2").Width 'same width of C3 End With End Sub
Моя проблема заключается в том, что я пытаюсь получить код для ссылки на ячейку, которая содержит путь к файлу для импортируемой фотографии. Он работает только в том случае, если я ввожу путь к файлу напрямую в код. Может кто-нибудь посоветует мне, как это сделать, пожалуйста.
Скажем, например, я хочу вставить фотографию C: \ Filepath \ Example.jpg, и я набрал этот путь к файлу (или, в идеале, просто имя самого файла, но теперь я соглашусь на полный путь к файлу) в ячейку A1 и хочу используйте командную кнопку для импорта фотографии с помощью приведенного выше кода. Должен ли я определять A1 как строку или что-то еще? Я не использовал excel в течение года, и, увы, моя память оставила меня 🙁
Вы можете просто получить содержимое ячейки A1
в активном листе следующим образом:
ActiveSheet.Range("A1").Value ' or .Text
Итак, предполагая, что путь к вашему изображению находится в ячейке A1, тогда в вашем коде вы замените:
ActiveSheet.Pictures.Insert ("C:\Filepath\Example.jpg")
с:
ActiveSheet.Pictures.Insert ActiveSheet.Range("A1").Value
Примечание: вам не нужны скобки.