运行时错误1004尝试在文件名中保存日期文件时未保存文档

时间:2012-08-19 15:36:10

标签: excel excel-vba save runtime-error vba

所以我有一个非常好的宏,因为它在下面。它循环显示数据验证下拉列表,并在下拉列表中为每个国家/地区保存pdf。但是,当我尝试编辑宏以使文件名包含除国家名称(D14)之外的日期时,我遇到运行时错误1004无法保存文档。我对VBA很新,所以我不知道如何解决这个问题......我真的很感激一些帮助

斯蒂芬

Sub Create_PDFs()
'
' Create_PDFS Macro
'
' Keyboard Shortcut: Ctrl+y
'
Const sheetToExportName = "Graphs"
Const sheetWithCountryList = "Master Sheet"
Const CountryListAddress = "AQ6:AQ38"
Const chosenCountryCell = "D14"
Const sheetWithChosenCell = "Graphs"

Dim CountryList As Range
Dim anyCountry As Range

Set CountryList = _
ThisWorkbook.Worksheets(sheetWithCountryList). _
Range(CountryListAddress)
For Each anyCountry In CountryList
ThisWorkbook.Worksheets(sheetWithChosenCell). _
Range(chosenCountryCell) = anyCountry
ThisWorkbook.Worksheets(sheetToExportName).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "N:\International Finance Division\RAT Advanced Economies - Chartpacks\Country Risks\Created PDFs\" & ActiveSheet.Range("D14").Value & " - Country Risk Indicators.pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=False, _
        IgnorePrintAreas:=False, OpenAfterPublish:=False
        Next
        Set CountryList = Nothing
End Sub

1 个答案:

答案 0 :(得分:0)

清除特殊字符日期的值。

假设范围始终是日期,请替换:

ActiveSheet.Range("D14").Value

有这样的事情:

format(ActiveSheet.Range("D14").Value,"YYYYMMDD")

您可以使用与"YYYYMMDD"不同的格式,但请确保不要使用shahkalpesh评论中指示的“/”。