Как мне отформатировать число, чтобы в имени файла было не менее 5 цифр с помощью макроса?

#excel #vba

#excel #vba

Вопрос:

Я работаю над макрокомандой, которая включает в себя генерацию имени файла и сохранение листа Excel в формате pdf с этим именем.

Я смог сгенерировать имя целевой папки следующим образом.

 user_name = Environ$("UserName")
file_dir = "C:Users" amp; user_name amp; "DocumentsJobs"
  

Имя файла создается следующим образом.

 Job_No = Site amp; "SV" amp; num_from_cell
PDF = Job_No amp; ".pdf"
file_path = file_dir amp; PDF
  

В настоящее время возвращается приведенный выше код MWSV234.pdf . Я хочу, чтобы это было MWSV00234.pdf . num_from_cell берется из одной из ячеек на листе Excel.

Короче говоря, я хочу, чтобы в левом поле num_from_cell было 5 цифр. Не могли бы вы, пожалуйста, рассказать мне, как?

Комментарии:

1. Job_No = Site amp; "SV" amp; Right("0000" amp; num_from_cell, 5)

Ответ №1:

Было бы безопаснее использовать Environ$("HomePath") для получения домашнего каталога пользователей, а не Environ$("UserName")

 file_dir = Environ$("HomePath") amp; "DocumentsJobs"
  

Затем используйте Format для форматирования с начальными нулями для 5 чисел

 Job_No = Site amp; "SV" amp; Format(num_from_cell, "00000")
PDF = Job_No amp; ".pdf"
file_path = file_dir amp; PDF
  

Комментарии:

1. Environ$("HomePath") возвращает единственную обратную косую черту на моем компьютере (компании). Обычно я выбираю Environ$("UserProfile")