Макрос для сохранения чертежа в PDF

Друзья конструктора, доброго субботнего дня.

Полдня бился за то, чтобы найти работающий макрос для SOLIDWORKS, который сохранял чертеж в PDF. Но добился своего (Save Drawing as PDF, если интересно).

А теперь задачка. Как сохранять файл в подпапку, в которой лежит чертёж? Прошерстил всё, что можно (подборка макросов Sw_Plus не помогла), не нашёл готового варианта.

К примеру, чертеж лежит в папке "C://Пупа", а надо сохранить PDF в папку "С://Пупа/PDF". Ну или чтоб макрос сам создавал эту подпапку, тогда ваще идеальный вариант.

В написании макросов не силён, закидайте тапками.

Для информации, SOLIDWORKS 2020, базовые макросы использую активно.

Ссылка на макрос: https://drive.google.com/file/d/18kE_eWY2U4k_VqIsUC9E6YgdcSd...

Конструкторский отдел

18 постов105 подписчиков

Добавить пост

Правила сообщества

Нельзя: обсуждать политику.

Автор поста оценил этот комментарий

Извиняюсь, видимо нашел код макроса с таким же названием, но немного другой. В этом подшаманить придется иначе. После первой строчки Filename добавляем:

Title = swModel.GetTitle

Вторую строчку Filename меняем на:

FileName = Left(FileName, Len(FileName) - Len(Title)) & "PDF\" & Left(Title, Len(Title) - 6) & "pdf"

раскрыть ветку (1)
Автор поста оценил этот комментарий

Всё сделал, как вы написали, но макрос выдает ошибку на строчке Title = swModel.GetTitle

Я подумал, что нужно задать переменную перед стартом макроса и дописал в начале Dim Title As String (1 скриншот)

Ошибка перестала выскакивать, но при запуске макроса просто ничего не происходит.

После попробовал сразу задать переменную Dim Title As swModel.GetTitle, эффекта тоже ноль (2 скриншот)

Иллюстрация к комментарию
Иллюстрация к комментарию
1
Автор поста оценил этот комментарий

С телефона не могу проверить, но предлагаю заменить в коде макроса swDraw.SaveAs(Filepath + FileName + ".PDF") на swDraw.SaveAs(Filepath + "pdf\" + FileName + ".PDF")

раскрыть ветку (1)
Автор поста оценил этот комментарий

не нашел этой строчки в коде, попытался вставить в разные места, ничего не вышло(

Иллюстрация к комментарию
показать ответы
1
Автор поста оценил этот комментарий

С телефона не могу проверить, но предлагаю заменить в коде макроса swDraw.SaveAs(Filepath + FileName + ".PDF") на swDraw.SaveAs(Filepath + "pdf\" + FileName + ".PDF")

раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо. Если за выходные не доберусь, в понедельник на работе проверю)

Автор поста оценил этот комментарий

А исходный макрос?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Добавил в пост

показать ответы