创建一个Vba代码保存在A工作簿,使其实现以下操作:选择打开一个B工作簿运行代码,使打开的工作簿每个工作表以各个工作表的“D6-L6"命名,并按工作表名称另存为PDF
时间: 2024-03-01 17:50:49 浏览: 193
好的,这是一段可以实现该功能的VBA代码:
```VBA
Sub SaveAsPDF()
Dim wb As Workbook
Dim ws As Worksheet
Dim fName As String
Dim fPath As String
'选择要保存为PDF的工作簿
Set wb = Application.Workbooks.Open(Filename:=Application.GetOpenFilename("Excel Files (*.xls*), *.xls*"))
'设置PDF保存路径
fPath = ThisWorkbook.Path & "\"
'循环处理每个工作表
For Each ws In wb.Worksheets
'设置工作表名称
ws.Name = "D6-L6"
'设置PDF文件名
fName = fPath & ws.Name & "-" & ws.Index & ".pdf"
'保存为PDF格式
ws.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=fName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Next ws
'关闭打开的工作簿
wb.Close SaveChanges:=False
End Sub
```
使用方法:
1. 将上述代码复制到一个新的VBA模块中;
2. 在A工作簿中按ALT+F8,选择该宏并运行;
3. 选择要处理的B工作簿,点击“打开”按钮;
4. 处理完毕后,PDF文件将保存在原工作簿所在目录下,文件名为“D6-L6-序号.pdf”。其中序号为工作表在工作簿中的索引号,从1开始递增。
阅读全文