使用vbscript在Excel中设置每张表格

我有一个VBScript将文件夹(C:\文件夹)中的所有XLS文件转换为PDF文件。 所有列也被设置为适合一个页面,并与方向景观。 这个脚本对于Sheet1工作正常,但是如果xls文件多于1张,它只会将Pagesetup设置设置为“活动”表单,而不是全部。

如何让我的Pagesetup设置应用于文件夹中所有xls文件中的所有工作表?

Set xlObj = CreateObject("Excel.Application") Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder("c:\folder") For Each file In f.Files set xlWB = xlObj.Workbooks.Open(file) With xlWB.ActiveSheet.PageSetup .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = False End With thisFileName =Left(xlWB.FullName , InStrRev(xlWB.FullName , ".") - 1) xlWB.Sheets.Select xlWB.ActiveSheet.ExportAsFixedFormat 0, thisFileName & ".pdf", 0, 1, 0,,,0 xlWB.close False Next xlObj.quit 

目前还不清楚如何处理出口其他表格? 作为单独的文件,或全部在同一个PDF?

 Set xlObj = CreateObject("Excel.Application") Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder("c:\folder") For Each file In f.Files set xlWB = xlObj.Workbooks.Open(file) for each sht in xlWB.Worksheets With sht.PageSetup .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = False End With 'can't use the same filename for all sheets ! thisFileName = Left(xlWB.FullName , InStrRev(xlWB.FullName , ".") - 1) sht.ExportAsFixedFormat 0, thisFileName & ".pdf", 0, 1, 0,,,0 next sht xlWB.close False Next xlObj.quit 

我通过删除sht next sht工作得到它的工作
以下代码工作:

  Set xlObj = CreateObject("Excel.Application") Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder("c:\folder") For Each file In f.Files set xlWB = xlObj.Workbooks.Open(file) for each sht in xlWB.Worksheets With sht.PageSetup .Orientation = 2 .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = False End With thisFileName =Left(xlWB.FullName , InStrRev(xlWB.FullName , ".") - 1) xlWB.Sheets.Select xlWB.ActiveSheet.ExportAsFixedFormat 0, thisFileName & ".pdf", 0, 1, 0,,,0 next xlWB.close False Next xlObj.quit