Тривиальная, казалось бы, задача. Но иногда возникает необходимость вставить в документ картинку, а подписью сделать имя файла этой картинки. Конечно, можно это делать вручную. Но очень неудобно. Тем более, если картинка не одна.
Вот как эту задачу можно решить с помощью макроса.
Как работает? Пользователю дают выбрать файл. Затем этот файл вставляется как картинка в документ и к картинке добавляется автоназвание. Вот и все. Просто и эффективно.
Вот как эту задачу можно решить с помощью макроса.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Sub ДобавлениеКартинок() Dim oPicture As InlineShape Dim sFileName As String, sFileNameShort As String '*********************************************************************************** With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = False .ButtonName = "Вставить": .InitialView = msoFileDialogViewPreview: .Title = "Вставить картинку с названием" .Filters.Clear: .Filters.Add "Изображения", "*.jpg;*.jpeg;*.gif;*.png;*.bmp": .Filters.Add "Все файлы", "*.*" If .Show Then sFileName = .SelectedItems(1) Else Exit Sub End With sFileNameShort = CreateObject("Scripting.FileSystemObject").GetFile(sFileName).ShortName sFileNameShort = Mid(sFileNameShort, 1, InStrRev(sFileNameShort, ".") - 1) Set oPicture = ActiveDocument.InlineShapes.AddPicture(sFileName, False, True, Selection.Range) oPicture.Select: Selection.InsertCaption "Рисунок", " " & sFileNameShort End Sub |
Как работает? Пользователю дают выбрать файл. Затем этот файл вставляется как картинка в документ и к картинке добавляется автоназвание. Вот и все. Просто и эффективно.