Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/47: Рейтинг темы: голосов - 47, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 4

Сохранение файлов Word в PDF с именем из списка

12.09.2017, 09:35. Показов 9926. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Попрошу у Вас помощи. Есть документ в котором кроме текста есть "Поле со списком". Надо сохранить этот документ в PDF формате, но в имя файла вставить текст из "Поля со списком".

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim s$, strDate$, strPath$, r As Boolean, S1$, k As Range
 
k = ThisDocument.Range
s = ActiveDocument.Name
 
strPath = "d:\$Макросы\"
strDate = Format(Now, "mmdd")
    S1 = Split(s, ".")(UBound(Split(s, ".")))
    s = Trim(Left(s, Len(s) - Len(S1) - 1))
 
k.Find.Text = "книга"
If k.Find.Execute Then k.Copy
 
    s2 = s & "_" & strDate & "_" & k & ".pdf"
 
 ActiveDocument.ExportAsFixedFormat OutputFileName:=strPath & "\" & s2, ExportFormat:=wdExportFormatPDF
Ошибка: Недопустимое имя файла
Что надо исправить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.09.2017, 09:35
Ответы с готовыми решениями:

Сохранение в БД Access файлов Word, JPG,PDF
Подскажите как программно сохранять файлы Word, JPG,PDF в базу данных Access с форматом файла базы MDB.

Сохранение формы в PDF с именем состоящим из данных таблицы
Доброго времени суток! Есть БД. В форме по кнопке печатается выбранная запись. Печатается через виртуальный принтер в ИмяФормы.pdf ...

Сохранение файла MS Word под нужным именем
Привет! Есть маааааааааленькая проблемка :-( С помощью Аспа нужно сгенерить вордовский отчет. Для чего необходимо обработать...

7
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 4
12.09.2017, 11:44  [ТС]
Тестовый файл
Вложения
Тип файла: docx Тест.docx (20.9 Кб, 37 просмотров)
0
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
13.09.2017, 11:22
Попробуйте после строки
Visual Basic
1
    s2 = s & "_" & strDate & "_" & k & ".pdf"
вставить
Visual Basic
1
s2 = strPath & s2
Обратиться к тексту поля можно, например, вот так
Visual Basic
1
s2 = s & "_" & strDate & "_" & ThisDocument.ContentControls(1).Range & ".pdf"
0
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 4
13.09.2017, 12:00  [ТС]
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim s$, strDate$, strPath$, r As Boolean, S1$, k As Range
 
k = ThisDocument.Range
s = ActiveDocument.Name
 
strPath = "d:\$Макросы\"
strDate = Format(Now, "mmdd")
    S1 = Split(s, ".")(UBound(Split(s, ".")))
    s = Trim(Left(s, Len(s) - Len(S1) - 1))
 
k.Find.Text = "книга"
If k.Find.Execute Then k.Copy
 
    s2 = s & "_" & strDate & "_" & k & ".pdf"
    s2 = strPath & s2
 
ActiveDocument.ExportAsFixedFormat OutputFileName:=strPath & "\" & s2, ExportFormat:=wdExportFormatPDF
1. Ругается на эту строку:
ActiveDocument.ExportAsFixedFormat OutputFileName:=strPath & " \ " & s2, ExportFormat:=wdExportFormatPDF
Недопустимое имя файла!

2. Если ставлю:
s2 = s & "_" & strDate & "_" & ThisDocument.ContentControls(1).Range & ".pdf"

Запрашиваемый номер семейства не существует
0
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
15.09.2017, 10:05
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    Dim s$, strDate$, strPath$
    Dim r As Boolean, S1$, k As Range
    With ActiveDocument
        s = .Name
        strPath = "g:\cyberForum\"
        strDate = Format(Now, "mmdd")
        S1 = Split(s, ".")(UBound(Split(s, ".")))
        s = Trim(Left(s, Len(s) - Len(S1) - 1))
        For Each v In .ContentControls
            If v.Type = wdContentControlComboBox Then
                s2 = s & "_" & strDate & "_" & v.Range & ".pdf"
                s2 = strPath & s2
                .ExportAsFixedFormat OutputFileName:=s2, ExportFormat:=wdExportFormatPDF, _
                OptimizeFor:=wdExportOptimizeForPrint
                Exit For
            End If
        Next
    End With
у меня это работает.
0
0 / 0 / 0
Регистрация: 12.06.2023
Сообщений: 6
11.10.2023, 15:35
Здравствуйте! Не решилась создать новую тему, т.к. у меня запрос очень похож. Есть макрос сохранения отдельных листов в Ворде, но хочется, чтобы имя присваивалось не 1,2,3...., а из первой строки каждого листа. Например, "Магазин Вольная 28/4". Помогите, пжлст!!!!
Да, и их может быть несколько одинаковых, поэтому Например, "Магазин Вольная 28/4 1", Например, "Магазин Вольная 28/4 2" и т.д.


Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Sub Макрос2()
'
' Макрос2 Макрос
'
'
For i = 1 To ActiveDocument.ComputeStatistics(wdStatisticPages)
 
    Selection.GoTo What:=wdGoToPage, Which:=wdGoToPage, Name:=Str(i)
    Selection.GoTo What:=wdGoToBookmark, Name:="\page"
    Selection.Find.ClearFormatting
    Selection.Copy
    Documents.Add DocumentType:=wdNewBlankDocument
    Selection.PasteAndFormat (wdFormatOriginalFormatting)
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^m"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    ChangeFileOpenDirectory _
        "C:\Users\efilimonova\Desktop\Отпуск формирование уведомлений"
    ActiveDocument.SaveAs2 FileName:="" + Str(i) + ".docx", _
        FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
        AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
        EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
        :=False, SaveAsAOCELetter:=False, CompatibilityMode:=15
    ActiveWindow.Close
    Next i
End Sub
Вложения
Тип файла: docx Уведомление форма.docx (19.2 Кб, 8 просмотров)
0
859 / 509 / 187
Регистрация: 09.03.2009
Сообщений: 1,722
12.10.2023, 23:38
Цитата Сообщение от Филимонова Елен Посмотреть сообщение
"Магазин Вольная 28/4 1"
Замечу, что такой файл вы не создадите, надо дробь чем-то заменить - скажем, подчеркиванием.
0
0 / 0 / 0
Регистрация: 12.06.2023
Сообщений: 6
13.10.2023, 00:19
Да, учту, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.10.2023, 00:19
Помогаю со студенческими работами здесь

Сохранение данных в шаблон word под заданным именем
Здравствуйте У меня есть форма, в которой после нажатия кнопки открывается шаблон ("Отчет_коронарография") и заполняются...

Сохранение данных в файл Word под заданным по значению поля именем
Задача - сохранять заполняемые из access шаблоны word по значению поля "краткое_наименование". Пока сделано так - нажимаем кнопку...

Перевод файлов exel,word и pdf в двоичный код(1 и 0)
И так мне нужно перевести файлы(exel,word,pdf, я точно не знаю какой файл будет преобразовывать пользователь) их нужно перевести в двоичный...

Открыть программу чтения pdf/djvu-файлов из Word
Нужно в тексте расставить некие объекты открывающие программу чтения pdf/djvu (Scientific and technical documentation viewer) на конкретной...

On-Line Редактор файлов (Excel Word (PDF) (Онлайн документооборот)
Всем доброго времени суток. Опишу суть задачи изначально. Жил был клиент и было у него n-количество файлов (Excel Word (PDF)), и были у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru