我正在研究HTML5
项目。
在这个项目中,我想通过单击“生成PDF”按钮创建Excel工作表的PDF。但我的下面的代码不起作用。
有没有办法在不打开Excel文件的情况下从HTML创建Excel工作表的PDF?
<html><head>
<script language="vbscript" type="text/vbscript">
Sub SaveExcelAsPDF ()
'Save Excel file as a PDF
'Initialise
Dim objExcel, objWorkbook
Set objExcel = CreateObject("Excel.Application")
'Open the file
Set objWorkbook = objExcel.Workbooks.Open ("file:\\\D:\\Book1.xlsx")
objExcel.Visible = True
ObjWorkbook.Windows (1).Visible = True
Set XlSheet =objWorkbook.Sheets (3)
XlSheet.Activate
'Save the PDF
objWorkbook.ExportAsFixedFormat EXCEL_PDF, PathOfPDF(p_strFilePath), EXCEL_QualityStandard, TRUE, FALSE, , , FALSE
'Close the file and exit the application
objWorkbook.Close FALSE
objExcel.Quit
End Sub
</script></head>
<body>
<center>
<br>
<tr>
<td>
<input type="submit" onclick="SaveExcelAsPDF()" value="Make PDF" />
<br> </td>
</tr>
</center>
</form></body></html>
答案 0 :(得分:0)
根据评论(...和提供的代码......),您似乎没有定义函数PathOfPDF(ByVal p_strFilePath)
,将文件名转换为.pdf -
话虽如此......只需在处理文件路径之前创建一些变量,如下所示:
Sub SaveExcelAsPDF
Dim objExcel, objWorkbook
Set objExcel = CreateObject("Excel.Application")
excelFilePath = "C:\File.xlsx"
pdfFilePath = Replace(excelFilePath,".xlsx",".pdf")
Set objWorkbook = objExcel.Workbooks.Open(excelFilePath)
objWorkbook.ExportAsFixedFormat EXCEL_PDF, pdfFilePath, EXCEL_QualityStandard, TRUE, FALSE, , , FALSE
objWorkbook.Close FALSE
objExcel.Quit
End Sub
P.S。您不需要显示Excel窗口以便发布工作...不确定为什么您有代码来显示Excel文件/窗口。