У меня есть макрос, который сохраняет файл. Как подставить в имя файла данные из первой строки?
В ворде есть такое понятие "абзац". Слышали об этом?
В конце абзаца есть невидимый символ "знак абзаца", который видно, когда включён режим непечатаемых символов?
Да, я знаю, что такое абзац в ворд-файле.
Может быть удобнее будет извлекать данные не из первой строки, а из первого абзаца?
В ворде со строками из макроса сложнее работать, чем с абзацами, т.к. в VBA нет объекта "строка файла", но есть объект "абзац".
Первый абзац в моём файле - это одна строка. Тогда гораздо проще использовать абзац.
Тогда вам нужно извлечь данные из первого абзаца файла, например, в переменную, а затем переменную вы сможете подставить туда, куда надо.
Sub макрос()
Dim var
' Копирование первого абзаца из активного файла в переменную "var".
var = ActiveDocument.Paragraphs(1).Range.Text
' Удаление из переменной знака абзаца.
var = Left(var, Len(var) - 1)
End Sub
И добавить в SaveAs2 FileName...Paragraphs(1).Range.Text?
На конце абзаца есть символ "знак абзаца", он может помешать, а может нет, надо тестировать.
Поэтому может быть сначала потребуется записать текст абзаца в переменную, чтобы удалить знак абзаца, а затем уже подставляйте переменную в нужное место.
Ура-ура-ура, работает!!!
Спасибо, добрый волшебник! Пусть у Вас всё будет замечательно!
newdoc.SaveAs "C:\" & "Информация для_" & var & ".docx"