【发布时间】:2016-04-26 03:30:37
【问题描述】:
我在电子表格中创建了一个发票模板,并使用附加的 VBA 代码从中创建了一个报告(本质上它将某些单元格值作为表格报告存储到另一个工作表中)。我想将其移植到 Google 电子表格和在将 VBA 转换为相应的 JavaScript 时需要帮助。你能帮忙吗?
谢谢
Sub InvoiceReport()
Dim myFile As String, lastRow As Long
myFile = “C: \invoices\” & Sheets(“Sheet1”).Range(“B5”) & “_” & Sheets(“Sheet1”).Range(“F1”) & Format(Now(), “yyyy - mm - dd”) & “.pdf”
lastRow = Sheets(“Sheet2”).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
‘ Transfer data to sheet2
Sheets(“Sheet2”).Cells(lastRow, 1) = Sheets(“Sheet1”).Range(“B5”)
Sheets(“Sheet2”).Cells(lastRow, 2) = Sheets(“Sheet1”).Range(“F1”)
Sheets(“Sheet2”).Cells(lastRow, 3) = Sheets(“sheet1”).Range(“I36”)
Sheets(“Sheet2”).Cells(lastRow, 4) = Now
Sheets(“Sheet2”).Hyperlinks.Add Anchor: = Sheets(“Sheet2”).Cells(lastRow, 5), Address: = myFile, TextToDisplay: = myFile‘ Create invoice in PDF format
Sheets(“sheet1”).ExportAsFixedFormat Type: = xlTypePDF, Filename: = myFile
Application.DisplayAlerts = False
‘ create invoice in XLSX format
ActiveWorkbook.SaveAs“ C: \invoices\” & Sheets(“Sheet1”).Range(“B5”) & “_” & Sheets(“Sheet1”).Range(“F1”) & “_” & Format(Now(), “yyyy - mm - dd”) & “.xlsx”, FileFormat: = 51‘ ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
【问题讨论】:
-
这个问题有点笼统。将工作表另存为 PDF 是一项挑战,而将值复制到另一张工作表则是另一项挑战。只有在尝试自己弄清楚之后,我才会在两个不同的问题中一次解决这些问题。 SO上有许多其他答案与将电子表格导出为PDF有关。
-
感谢 Douglas,我已经更新了我的查询,使其更加具体,并使用了我当前使用的代码。希望这会增加清晰度。
-
还有一件事,对于传输,您能否与示例数据集共享电子表格,其中包含您的预期输出?让回答您问题的人更容易,因此他们不必开始假设您的数据是什么样的。
-
嗨,Douglas - 我可以分享示例发票 excel,但不知道如何在此处为我的帖子添加附件(对不起,我在此网站上的第一篇帖子)。我可以发邮件吗?
-
使用示例数据创建一个示例谷歌电子表格并分享链接。
标签: pdf google-apps-script google-sheets report invoice