如何格式化带有宏的文件名中至少包含5位数字的数字?

时间:2019-03-07 13:59:44

标签: excel vba

我正在处理一个宏,该宏涉及生成文件名并将具有该名称的excel工作表另存为pdf。

我能够如下生成目标文件夹名称。

user_name = Environ$("UserName")
file_dir = "C:\Users\" & user_name & "\Documents\Jobs\"

文件名创建如下。

Job_No = Site & "SV" & num_from_cell
PDF = Job_No & ".pdf"
file_path = file_dir & PDF

当前,以上代码返回MWSV234.pdf。我希望它是MWSV00234.pdfnum_from_cell来自Excel工作表中的一个单元格。

简而言之,我想将num_from_cell的位数保留为5位数字。你能告诉我怎么做吗?

1 个答案:

答案 0 :(得分:3)

使用Environ$("HomePath")而不是Environ$("UserName")来获得用户的主目录会更安全

file_dir = Environ$("HomePath") & "\Documents\Jobs\"

然后使用Format来格式化5个数字的前导零

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