【发布时间】:2019-06-11 21:56:58
【问题描述】:
我的 Excel 文档有一个宏代码。我想将活动工作表作为 PDF 文件导出到特定文件夹。相同的代码在我的 Windows PC 上工作,但在我的 MAC 电脑上不起作用。当我单击保存按钮时,它正在打印 pdf 而不是保存它。我想保存它。如果有人可以帮助我,我会很高兴。
Sub Save_NEWPORT_ESTIMATE()
If Range("G1") = "INVOICE" Then
LigneIS = Application.CountA(Sheets("Invoice summary").Range("A:A"))
Sheets("Invoice summary").Range("A" & LigneIS + 1) = Now
Sheets("Invoice summary").Range("B" & LigneIS + 1) = Sheets("NANTUCKET ESTIMATE").Range("H8")
Sheets("Invoice summary").Range("C" & LigneIS + 1) = "NANTUCKET"
Sheets("Invoice summary").Range("D" & LigneIS + 1) = Sheets("NANTUCKET ESTIMATE").Range("A12")
Sheets("Invoice summary").Range("E" & LigneIS + 1) = Sheets("NANTUCKET ESTIMATE").Range("M49")
Else
LigneIS = Application.CountA(Sheets("Invoice summary").Range("A:A"))
Sheets("Estimate summary").Range("A" & LigneIS + 1) = Now
Sheets("Estimate summary").Range("B" & LigneIS + 1) =
Sheets("NANTUCKET ESTIMATE").Range("H8")
Sheets("Estimate summary").Range("C" & LigneIS + 1) = "NANTUCKET"
Sheets("Estimate summary").Range("D" & LigneIS + 1) =
Sheets("NANTUCKET ESTIMATE").Range("A12")
Sheets("Estimate summary").Range("E" & LigneIS + 1) =
Sheets("NANTUCKET ESTIMATE").Range("M49")
End If
D1 = Format(Date, "ddmmyy")
Customer = Left(Range("A12"), 6)
Job = Range("G12")
Tipe = Range("G1")
Model = Range("G18")
If Tipe = "INVOICE" Then
Tipe2 = "1 SALES INVOICES"
Else
Tipe2 = "1 ESTIMATES"
End If
Lien = "/Users/macbookpro/Desktop/INVOICE/" & Tipe2
ChDir "/Users/macbookpro/Desktop/INVOICE/" & Tipe2
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Lien & "\" & D1 & " " & Model & "_" & Customer & "_" & Job & "_" & Tipe & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
Sub Save_NANTUCKET_ESTIMATE()
If Range("G1") = "INVOICE" Then
LigneIS = Application.CountA(Sheets("Invoice summary").Range("A:A"))
Sheets("Invoice summary").Range("A" & LigneIS + 1) = Now
Sheets("Invoice summary").Range("B" & LigneIS + 1) = Sheets("NANTUCKET ESTIMATE").Range("H8")
Sheets("Invoice summary").Range("C" & LigneIS + 1) = "NANTUCKET"
Sheets("Invoice summary").Range("D" & LigneIS + 1) = Sheets("NANTUCKET ESTIMATE").Range("A12")
Sheets("Invoice summary").Range("E" & LigneIS + 1) = Sheets("NANTUCKET ESTIMATE").Range("M49")
Else
LigneIS = Application.CountA(Sheets("Invoice summary").Range("A:A"))
Sheets("Estimate summary").Range("A" & LigneIS + 1) = Now
Sheets("Estimate summary").Range("B" & LigneIS + 1) = Sheets("NANTUCKET ESTIMATE").Range("H8")
Sheets("Estimate summary").Range("C" & LigneIS + 1) = "NANTUCKET"
Sheets("Estimate summary").Range("D" & LigneIS + 1) = Sheets("NANTUCKET ESTIMATE").Range("A12")
Sheets("Estimate summary").Range("E" & LigneIS + 1) = Sheets("NANTUCKET ESTIMATE").Range("M49")
End If
D1 = Format(Date, "ddmmyy")
Customer = Left(Range("A12"), 6)
Job = Range("G12")
Tipe = Range("G1")
Model = Range("G18")
If Tipe = "INVOICE" Then
Tipe2 = "1 SALES INVOICES"
Else
Tipe2 = "1 ESTIMATES"
End If
Lien = "/Users/macbookpro/Desktop/INVOICE/" & Tipe2
ChDir "/Users/macbookpro/Desktop/INVOICE/" & Tipe2
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Lien & "\" & D1 & " " & Model & "_" & Customer & "_" & Job & "_" & Tipe & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
【问题讨论】:
-
我收到运行时错误 什么运行时错误?错误信息是什么?它就在您面前的屏幕上,但我们无法从这里看到您的屏幕。您有有用的信息应该在您的帖子中。请edit 把它放在那里。谢谢。
-
顺便说一句,问题很可能是 Mac 没有
C:驱动器并且没有使用反斜杠作为路径分隔符。不要硬编码仅 Windows 的路径和文件名,因为该路径在非 Windows 机器上不起作用。 -
谢谢Ken,我弄错了,当然我的mac上没有C:。我将此代码用于我的 Windows PC,它正在工作。上面的代码在我的 Mac 上无法正常工作。当我单击“保存”按钮时,它正在打印 pdf 而不是保存它。
标签: excel vba macos export-to-pdf