使用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