макрос сохранения файла с другим расширением (pdf)
карандаш
Дата: Вторник, 07.07.2015, 08:10 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация:
8
±
Замечаний:
0% ±
2010
Здравствуйте Хотел создать макрос (автоматический) для сохранения копии файла в формате PDF Но в автоматическом макросе прописывается явно имя файла и путь сохранения Как заменить только расширение в имени файла, а путь и имя оставить те, которые есть? Есть макрос для Excel на этом сайте. А нужен для Word (2010, если это имеет значение) спасибо
Здравствуйте Хотел создать макрос (автоматический) для сохранения копии файла в формате PDF Но в автоматическом макросе прописывается явно имя файла и путь сохранения Как заменить только расширение в имени файла, а путь и имя оставить те, которые есть? Есть макрос для Excel на этом сайте. А нужен для Word (2010, если это имеет значение) спасибо карандаш
Сообщение отредактировал карандаш - Вторник, 07.07.2015, 08:12
Ответить
Сообщение Здравствуйте Хотел создать макрос (автоматический) для сохранения копии файла в формате PDF Но в автоматическом макросе прописывается явно имя файла и путь сохранения Как заменить только расширение в имени файла, а путь и имя оставить те, которые есть? Есть макрос для Excel на этом сайте. А нужен для Word (2010, если это имеет значение) спасибо Автор - карандаш Дата добавления - 07.07.2015 в 08:10
KSV
Дата: Вторник, 07.07.2015, 09:53 |
Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация:
255
±
Замечаний:
0% ±
Excel 2013
Добрый день! [vba]Код
Sub SaveDocumentAsPDF() Dim i&, f$ f = ThisDocument.FullName i = InStrRev(f, ".") If i Then f = Left$(f, i - 1) ThisDocument.SaveAs f & ".pdf", wdFormatPDF End Sub
[/vba]
Добрый день! [vba]Код
Sub SaveDocumentAsPDF() Dim i&, f$ f = ThisDocument.FullName i = InStrRev(f, ".") If i Then f = Left$(f, i - 1) ThisDocument.SaveAs f & ".pdf", wdFormatPDF End Sub
[/vba] KSV
KSV.VBA@gmail.com Яндекс.Деньги: 410011921213333
Сообщение отредактировал KSV - Вторник, 07.07.2015, 09:54
Ответить
Сообщение Добрый день! [vba]Код
Sub SaveDocumentAsPDF() Dim i&, f$ f = ThisDocument.FullName i = InStrRev(f, ".") If i Then f = Left$(f, i - 1) ThisDocument.SaveAs f & ".pdf", wdFormatPDF End Sub
[/vba] Автор - KSV Дата добавления - 07.07.2015 в 09:53
_Boroda_
Дата: Вторник, 07.07.2015, 10:04 |
Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация:
6503
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Еще похожий вариантик, более тупой - в лоб всё [vba]Код
Sub tt() p_ = ThisDocument.Path n0_ = ThisDocument.Name n1_ = Left(n0_, Len(n0_) - 4 + (Left(Right(n0_, 5), 1) = ".")) ss = p_ & "\" & n1_ ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF End Sub
[/vba]
Еще похожий вариантик, более тупой - в лоб всё [vba]Код
Sub tt() p_ = ThisDocument.Path n0_ = ThisDocument.Name n1_ = Left(n0_, Len(n0_) - 4 + (Left(Right(n0_, 5), 1) = ".")) ss = p_ & "\" & n1_ ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF End Sub
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Еще похожий вариантик, более тупой - в лоб всё [vba]Код
Sub tt() p_ = ThisDocument.Path n0_ = ThisDocument.Name n1_ = Left(n0_, Len(n0_) - 4 + (Left(Right(n0_, 5), 1) = ".")) ss = p_ & "\" & n1_ ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF End Sub
[/vba] Автор - _Boroda_ Дата добавления - 07.07.2015 в 10:04
карандаш
Дата: Вторник, 07.07.2015, 13:28 |
Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация:
8
±
Замечаний:
0% ±
2010
первый вариант не сработал заменил This на Active - не помогло второй вариант сработал с Active (в оригинале не пробовал, т.к. макрос сидит в Normal.dot) спасибо, Александр
первый вариант не сработал заменил This на Active - не помогло второй вариант сработал с Active (в оригинале не пробовал, т.к. макрос сидит в Normal.dot) спасибо, Александр карандаш
Сообщение отредактировал карандаш - Вторник, 07.07.2015, 13:30
Ответить
Сообщение первый вариант не сработал заменил This на Active - не помогло второй вариант сработал с Active (в оригинале не пробовал, т.к. макрос сидит в Normal.dot) спасибо, Александр Автор - карандаш Дата добавления - 07.07.2015 в 13:28
карандаш
Дата: Четверг, 09.07.2015, 11:06 |
Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация:
8
±
Замечаний:
0% ±
2010
однако, не работает в некоторых случаях если в названии файла присутствуют точки, то при сохранении как pdf расширение отсутствует, хотя файл сохраняется как pdf (потом ему ручками пририсовываешь .pdf и всё нормально) можно как-то эту беду устранить? спасибо
однако, не работает в некоторых случаях если в названии файла присутствуют точки, то при сохранении как pdf расширение отсутствует, хотя файл сохраняется как pdf (потом ему ручками пририсовываешь .pdf и всё нормально) можно как-то эту беду устранить? спасибо карандаш
Ответить
Сообщение однако, не работает в некоторых случаях если в названии файла присутствуют точки, то при сохранении как pdf расширение отсутствует, хотя файл сохраняется как pdf (потом ему ручками пририсовываешь .pdf и всё нормально) можно как-то эту беду устранить? спасибо Автор - карандаш Дата добавления - 09.07.2015 в 11:06
AndreTM
Дата: Четверг, 09.07.2015, 11:13 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация:
501
±
Замечаний:
0% ±
2003 & 2010
можно как-то эту беду устранить?
[vba]Код
n1_ = Left(n0_, InStrRev(n0_, ".")) & "pdf"
[/vba]
можно как-то эту беду устранить?
[vba]Код
n1_ = Left(n0_, InStrRev(n0_, ".")) & "pdf"
[/vba]AndreTM
Skype: andre.tm.007 Donate: Q iwi: 9517375010
Ответить
Сообщение можно как-то эту беду устранить?
[vba]Код
n1_ = Left(n0_, InStrRev(n0_, ".")) & "pdf"
[/vba]Автор - AndreTM Дата добавления - 09.07.2015 в 11:13
_Boroda_
Дата: Четверг, 09.07.2015, 11:14 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация:
6503
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Тогда так [vba]Код
Sub tt() p_ = ThisDocument.Path n0_ = ThisDocument.Name n1_ = Left(n0_, Len(n0_) - 4 + (Left(Right(n0_, 5), 1) = ".")) & ".pdf" ss = p_ & "\" & n1_ ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF End Sub
[/vba] Да, InStrRev луше
Тогда так [vba]Код
Sub tt() p_ = ThisDocument.Path n0_ = ThisDocument.Name n1_ = Left(n0_, Len(n0_) - 4 + (Left(Right(n0_, 5), 1) = ".")) & ".pdf" ss = p_ & "\" & n1_ ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF End Sub
[/vba] Да, InStrRev луше _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Тогда так [vba]Код
Sub tt() p_ = ThisDocument.Path n0_ = ThisDocument.Name n1_ = Left(n0_, Len(n0_) - 4 + (Left(Right(n0_, 5), 1) = ".")) & ".pdf" ss = p_ & "\" & n1_ ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF End Sub
[/vba] Да, InStrRev луше Автор - _Boroda_ Дата добавления - 09.07.2015 в 11:14
карандаш
Дата: Четверг, 09.07.2015, 11:37 |
Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация:
8
±
Замечаний:
0% ±
2010
прошу пардону... тут ещё такой нюанс: макрос вылетает с сообщением об ошибке, если пытается сохранить файл, если таковой открыт (т.е. существует) можно закрыть из ворда файл pdf, открытый для просмотра Акробатом? или придётся ручками закрывать? а если ручками, то можно не вылетать в отладчик макросов при ошибке? p.s. где-то в ворде снял какую-то галочку и теперь при сохранении в pdf файл не открывается в Акробате, а просто рисует "прогресс" сохранения и всё. Приходится ручками открывать для контроля - не могу найти эту галочку. По-моему она была в диалоге - показывать ли сохранённый файл.
прошу пардону... тут ещё такой нюанс: макрос вылетает с сообщением об ошибке, если пытается сохранить файл, если таковой открыт (т.е. существует) можно закрыть из ворда файл pdf, открытый для просмотра Акробатом? или придётся ручками закрывать? а если ручками, то можно не вылетать в отладчик макросов при ошибке? p.s. где-то в ворде снял какую-то галочку и теперь при сохранении в pdf файл не открывается в Акробате, а просто рисует "прогресс" сохранения и всё. Приходится ручками открывать для контроля - не могу найти эту галочку. По-моему она была в диалоге - показывать ли сохранённый файл. карандаш
Сообщение отредактировал карандаш - Четверг, 09.07.2015, 11:40
Ответить
Сообщение прошу пардону... тут ещё такой нюанс: макрос вылетает с сообщением об ошибке, если пытается сохранить файл, если таковой открыт (т.е. существует) можно закрыть из ворда файл pdf, открытый для просмотра Акробатом? или придётся ручками закрывать? а если ручками, то можно не вылетать в отладчик макросов при ошибке? p.s. где-то в ворде снял какую-то галочку и теперь при сохранении в pdf файл не открывается в Акробате, а просто рисует "прогресс" сохранения и всё. Приходится ручками открывать для контроля - не могу найти эту галочку. По-моему она была в диалоге - показывать ли сохранённый файл. Автор - карандаш Дата добавления - 09.07.2015 в 11:37
_Boroda_
Дата: Четверг, 09.07.2015, 11:42 |
Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация:
6503
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
не вылетать в отладчик макросов при ошибке
[vba]Код
Sub tt() p_ = ThisDocument.Path n0_ = ThisDocument.Name n1_ = Left(n0_, InStrRev(n0_, ".")) & "pdf" ss = p_ & "\" & n1_ On Error resume next ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF End Sub
[/vba] По-моему она была в диалоге
Да, при сохранении галка Открыть файл после публикации Или последнюю строку перепишите [vba]Код
ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True
[/vba]
не вылетать в отладчик макросов при ошибке
[vba]Код
Sub tt() p_ = ThisDocument.Path n0_ = ThisDocument.Name n1_ = Left(n0_, InStrRev(n0_, ".")) & "pdf" ss = p_ & "\" & n1_ On Error resume next ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF End Sub
[/vba] По-моему она была в диалоге
Да, при сохранении галка Открыть файл после публикации Или последнюю строку перепишите [vba]Код
ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True
[/vba]_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение не вылетать в отладчик макросов при ошибке
[vba]Код
Sub tt() p_ = ThisDocument.Path n0_ = ThisDocument.Name n1_ = Left(n0_, InStrRev(n0_, ".")) & "pdf" ss = p_ & "\" & n1_ On Error resume next ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF End Sub
[/vba] По-моему она была в диалоге
Да, при сохранении галка Открыть файл после публикации Или последнюю строку перепишите [vba]Код
ThisDocument.ExportAsFixedFormat OutputFileName:=ss, ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True
[/vba]Автор - _Boroda_ Дата добавления - 09.07.2015 в 11:42
карандаш
Дата: Понедельник, 13.07.2015, 20:16 |
Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация:
8
±
Замечаний:
0% ±
2010
спасибо!
Ответить
Сообщение спасибо! Автор - карандаш Дата добавления - 13.07.2015 в 20:16