Как вставить несколько подписей для нескольких изображений, присутствующих в слове?Например, «рисунок: 1» ниже изображения - PullRequest
0 голосов
/ 20 февраля 2019

Я могу добавить несколько изображений в текстовый документ, используя VBA, но я не могу добавить подписи для нескольких изображений, загруженных из пути к папке.
Не могли бы вы предложить по этому поводу:

Sub checking()
    Dim strFolderPath
    strFolderPath = "C:\images"
    Dim objWord
    Dim objDoc
    Dim objSelection
    Dim objShapes
    Dim objFSO
    Dim objFolder

    Set objWord = CreateObject("Word.Application")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(strFolderPath)
    Set objDoc = objWord.Documents.Open("D:\myfile.docx")

    objWord.Visible = True

    Set objSelection = objWord.Selection

    For Each Img In objFolder.Files
        ImgPath = Img.Path
        objSelection.InlineShapes.AddPicture (ImgPath)
        objSelection.InsertBreak
    Next
End Sub

1 Ответ

0 голосов
/ 20 февраля 2019

При этом вы получаете следующий порядок:
- изображение со знаком абзаца
- путь к изображению со знаком абзаца
- разрыв страницы

For Each img In objFolder.Files
    imgpath = img.Path
    objSelection.InlineShapes.AddPicture (imgpath)
    objSelection.InsertParagraphAfter
    objSelection.InsertAfter imgpath
    objSelection.InsertParagraphAfter
    objSelection.Collapse wdCollapseEnd
    objSelection.InsertBreak
Next

Кроме того, я предлагаю использовать Option Explicit в начале каждого модуля, что вызывает объявление каждой переменной (например, Dim ImgPath as String).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...