我正在寻找最佳解决方案来执行以下操作:
我有大约640个Excel文件,每个文件大约有9-12张。我想将每张表格保存为PDF格式。目前,该过程是手动完成的。选择工作表 - >档案 - >另存为 - > pdf - >浏览一百万个文件夹。如您所见,这非常耗时且效率低下。
我知道如何在C#中编程但是我的机器上没有visual studio。但是,如果最好的方法是VS,那么如果他们有我的许可证,我可以让IT团队安装VS.
我可以使用的唯一工具是Excel(甚至Access都不可用)。所以我将主要寻找VBA代码。如果这意味着打开每个文件以粘贴VBA代码,它仍然会更快,然后将每个工作表保存为PDF。
答案 0 :(得分:1)
您可以使用PowerShell
完成目标<强> ExportTo-ExcelPDF.ps1 强>
$path = "c:\fso"
$xlFixedFormat = "Microsoft.Office.Interop.Excel.xlFixedFormatType" -as [type]
$excelFiles = Get-ChildItem -Path $path -include *.xls, *.xlsx -recurse
$objExcel = New-Object -ComObject excel.application
$objExcel.visible = $false
foreach($wb in $excelFiles)
{
$filepath = Join-Path -Path $path -ChildPath ($wb.BaseName + ".pdf")
$workbook = $objExcel.workbooks.open($wb.fullname, 3)
$workbook.Saved = $true
"saving $filepath"
$workbook.ExportAsFixedFormat($xlFixedFormat::xlTypePDF, $filepath)
$objExcel.Workbooks.close()
}
$objExcel.Quit()
在C#中使用相同的COM API也相当简单,您可以使用免费的Visual Studio 2012 Express来完成。