修改Excel宏:按M5单元格值+阿拉伯语当月名保存PDF
解决Excel VBA保存PDF时自动拼接阿拉伯语月份文件名的问题
修改后的完整代码
Sub PDF() ' ' PDF Macro ' Save As PDF ' Dim arabicMonth As String ' 获取阿拉伯语全称月份(LocaleID 1025 对应沙特阿拉伯语,适配标准阿拉伯语月份) arabicMonth = Format(Date, "mmmm", vbUseSystemDayOfWeek, vbUseSystem, 1025) ' 组合文件名:M5单元格内容 + 空格 + 阿拉伯语月份 + 后缀 Dim pdfFullPath As String pdfFullPath = "D:\NEWGIZA\" & Range("M5").Value & " " & arabicMonth & ".pdf" ' 执行PDF导出 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ pdfFullPath, Quality:=xlQualityStandard, IncludeDocProperties:= _ True, IgnorePrintAreas:=False, OpenAfterPublish:=True End Sub
核心要点
- 阿拉伯语月份获取:通过
Format函数指定LocaleID为1025,强制输出阿拉伯语的月份全称(比如“يناير”对应英文January)。如果需要其他阿拉伯语分支的月份表述,可以替换对应的LocaleID(比如1026是埃及阿拉伯语,月份名称基本一致)。 - 文件名拼接逻辑:直接取M5单元格的内容,加上空格和阿拉伯语月份,最后补
.pdf后缀,组合成完整的保存路径。 - 避坑提示:要确保M5单元格里没有
\ / : * ? " < > |这些Windows文件名禁用字符,不然会触发保存失败的错误。
内容的提问来源于stack exchange,提问作者Ramadan Moussa
相关产品推荐
相关产品推荐

