Excel for Mac 2019/2016/365可能的错误:在某些情况下,PrintOut无法正常工作

时间:2019-06-20 00:21:53

标签: excel vba

我正在为Windows和Mac制作一个Excel工作簿。我的工作簿中有一个按钮,允许用户打印自己选择的工作表,而另一个按钮使他们可以制作自己选择的工作表PDF。

两个按钮在Windows上均可正常使用。在Mac 2016/2019/365上,PDF按钮可以正常工作。有时会导致问题的是PRINT按钮。当用户在按下PRINT按钮之前 按下PDF按钮时,它无法正常工作。在这种情况下,.PrintOut代码行可能会出错,或者保存PDF文件而不打印。

如果我关闭工作簿并重新打开它,它会打印得很好,直到我创建PDF为止,然后问题再次发生。我觉得这一定是Mac版Excel中的错误,但不确定100%。我只能在一台Mac计算机上对其进行测试,因此我知道它可能与我的计算机有关。

这里有一些简单的代码可以对此进行测试。感谢在Mac上尝试此操作并让我知道结果的任何人。

Sub PrintButton()

'this should send Sheet1 to the default printer

ThisWorkbook.Sheets("Sheet1").PrintOut Preview:=False, IgnorePrintAreas:=False

End Sub

Sub PDFButton()

'this should create a PDF file of Sheet1 on the Desktop of the Mac

Dim UserName As String
Dim FileNameAndPath As String

ThisWorkbook.Sheets("Sheet1").Activate

UserName = MacScript("do shell script ""echo $USER""")

FileNameAndPath = "/Users/" & UserName & "/Desktop/TestPDF.pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
FileNameAndPath, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False

End Sub

测试方法是:

  1. 运行PrintButton子。它应该将“ Sheet1”发送到您的打印机。

  2. 运行PDFButton子。它将在您的桌面上创建PDF格式的“ Sheet1”。

  3. 再次运行PrintButton子项。这是我发生问题的地方。我很好奇它是否适合您,或者您收到错误消息?我收到运行时1004错误。 (在某些情况下,我看到在到达.PrintOut行时,它代替了在此处打印工作表或引发错误,而是制作了PDF。)

0 个答案:

没有答案