Excel vba选择特定的图纸,并将创建的每个PDF保存/导出到不同的文件夹中

Excel vba选择特定的图纸,并将创建的每个PDF保存/导出到不同的文件夹中,excel,vba,pdf,Excel,Vba,Pdf,来自巴西的问候 我用尽了有限的知识,在YT和各种论坛中搜索,没有任何运气。(我不是程序员或诸如此类的人)。让我们看看是否有一个愿意帮助我的灵魂 我有一个包含多个电子表格的工作簿(基本上,它们是数据源,另一个是各种产品的价目表)。我想做的是将它们以PDF格式导出到不同的文件夹中。我已经设法将它们导出到一个文件夹中,但这并不是我最终想要的。我需要每个文件转到一个特定的文件夹。我还设法使每个PDF文件名以从另一个电子表格源中提取的“月/年”结尾,但它只对一个电子表格执行此操作,对于其他电子表格,它只重

来自巴西的问候

我用尽了有限的知识,在YT和各种论坛中搜索,没有任何运气。(我不是程序员或诸如此类的人)。让我们看看是否有一个愿意帮助我的灵魂

我有一个包含多个电子表格的工作簿(基本上,它们是数据源,另一个是各种产品的价目表)。我想做的是将它们以PDF格式导出到不同的文件夹中。我已经设法将它们导出到一个文件夹中,但这并不是我最终想要的。我需要每个文件转到一个特定的文件夹。我还设法使每个PDF文件名以从另一个电子表格源中提取的“月/年”结尾,但它只对一个电子表格执行此操作,对于其他电子表格,它只重命名月/年部分,而不是我想要的整个文件名

救命啊! 以下是我正在使用的源代码:


Dim fName As String
With Worksheets("Sheet4")
    fName = ThisWorkbook.Worksheets("Sheet4").Range("G1").Value & ThisWorkbook.Worksheets("Sheet4").Range("I1").Value

End With
Worksheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\fred_\" & "TABELA" & Range("L2").Value & fName, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Worksheets("Sheet2").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\John_\" & fName, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Worksheets("Sheet3").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\Sally_\" & fName, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

End Sub

我也尝试过这段代码,但我不知道如何更改编码以将每个PDF保存在不同的特定文件夹中:

Sub ExportToPDFs()
' PDF Export Macro
' C:\*needs to go to diferent folders*
' Sheets(Array("Sheet1","Sheet2","Sheet3")).Select

Dim nm As String
Dim ws As Worksheet
Dim i As Variant, sheets_to_select As Variant

sheets_to_select = Array("Sheet1", "Sheet2", "Sheet3")

For Each i In sheets_to_select
   ThisWorkbook.Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, _
      Filename:="C:\*diferent folders*\" & "Price List" & i & ThisWorkbook.Sheets("Sheet1").Range("G4").Value & ".pdf", _
      Quality:=xlQualityStandard, IncludeDocProperties:=True, _
      IgnorePrintAreas:=False, OpenAfterPublish:=True

Next i

End Sub


我做错了什么?顺便说一句,对于生疏的英语很抱歉!提前感谢您的帮助

为各自的文件夹名称使用另一个数组

Sub ExportToPDFs()
'PDF导出宏
'C:\*需要转到不同的文件夹*
'图纸(阵列(“图纸1”、“图纸2”、“图纸3”))。选择
Const ROOT=“C:\temp\so\”
将wb设置为工作簿,ws设置为工作表
Dim i为整数,arName为变量,arFolder为变量
Dim sFolder为字符串,sFilename为字符串,sMthYr为字符串
设置wb=ThisWorkbook
arName=数组(“Sheet1”、“Sheet2”、“Sheet3”)
arFolder=数组(“FolderA”、“FolderB”、“FolderC”)
sMthYr=wb.板材(“板材1”).范围(“G4”)
sMthYr=Replace(sMthYr,“/”,“”)”避免/在文件名中
对于i=0到UBound(arName)
设置ws=wb.Sheets(arName(i))
sFolder=ROOT&arFolder(i)&“\”
sFilename=“价格清单”&arName(i)&sMthYr&.pdf
ws.ExportAsFixedFormat类型:=xlTypePDF_
文件名:=sFolder&sFilename_
质量:=xlQualityStandard,IncludeDocProperties:=True_
IgnorePrintAreas:=False',OpenAfterPublish:=True
接下来我
MsgBox i&“导出到的图纸”&根目录
端接头

您需要在ExportAsFixed语句的FileName参数中指定输出文件夹。谢谢Nicholas。你在看第一个代码吗?如您所见,它为创建的每个PDF文件都有一个特定的文件夹。它负责将每个PDF保存/导出到其文件夹,但由于某些原因,创建的所有PDF的文件名都是相同的,除了运行宏时所在的页面。我不知道为什么它没有跟在我的其他床单后面。