excel - 导出为 PDF 宏缺少形状
问题描述
我有一个宏,单击按钮后,它将生成条形码图像(图像仅由形状组成),然后将 3 张纸导出为 pdf。我遇到的问题是这样做会生成条形码图像,但是当导出为 PDF 时,用于生成条形码的形状不会显示出来。如果我在不使用 export to pdf 宏的情况下打印或打印到 pdf,它们会出现,但这违背了宏的要点。
更令人头疼的是,此代码位于电子表格的不同版本(电子表格是模板)上,但宏过程在该电子表格上运行良好。我将工作代码复制/粘贴到给我带来麻烦的电子表格中,而麻烦制造者仍然无法正常工作。下面是相关代码。为什么导出的 PDF 中不包含形状?
Sub BevelPrint_Click()
' DisplayBarcode generates a code128 scannable barcode. Max of 14 characters for the selected line width and max width
Call DisplayBarcode
Sheets(Array("(Cal Cert) Page 1 of 3", "(Cal Cert) Page 2 of 3", "(Cal Cert) Page 3 of 3")).Select
' If Application.Dialogs(xlDialogPrinterSetup).Show = True Then
Dim varResult As Variant
Dim ActBook As Workbook
Dim defaultPath As String
Dim WorkbookName As String
'Dim fso As New Scripting.FileSystemObject
' WorkbookName = fso.GetBaseName(ThisWorkbook.Name)
WorkbookName = ThisWorkbook.Sheets("(0) Calibration System QC").Range("B2").Value
WorkbookName = WorkbookName & " Cert"
defaultPath = "\\TSISVFP01\MANUFACTURING\W405 - Particle\"
defaultPath = defaultPath & WorkbookName
'displays the save file dialog
varResult = Application.GetSaveAsFilename(FileFilter:= _
"PDF File (*.pdf), *.pdf, Excel Files (*.xlsx), *.xlsx", Title:="Save Cert as PDF", _
InitialFileName:=defaultPath)
If varResult <> False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
varResult, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End If
' End If
Sheets("(0) Calibration System QC").Select
End Sub
Sub DisplayBarcode()
Dim s As Shape
ThisWorkbook.Worksheets("(Cal Cert) Page 1 of 3").Activate
For Each s In ThisWorkbook.Worksheets("(Cal Cert) Page 1 of 3").Shapes
If s.Name Like "*Straight*" Then
ThisWorkbook.Worksheets("(Cal Cert) Page 1 of 3").Shapes(s.Name).Select
Selection.Delete
End If
Next s
Code128Generate_v2 184, 72, 9, 1.5, Worksheets("(Cal Cert) Page 1 of 3"), ThisWorkbook.Sheets("(0) Calibration System QC").Range("B2"), 40
Dim t As Shape
For Each t In ThisWorkbook.Worksheets("(Cal Cert) Page 1 of 3").Shapes
t.ControlFormat.PrintObject = True
Next t
End Sub
解决方案
推荐阅读
- sql-server - DataAdd 日期部分 varchar
- jquery - 多个下拉ajax的单个onchange
- html - 样式化 HTML/CSS 以实现给定的效果
- azure - Azure 中的 EUAP 区域是什么?
- r - grep() 在数据框中具有多个列名
- java - context.getBean 抛出 NoSuchBeanDefinitionException
- node.js - 如何使用 node.js 将一些数据直接附加到文件中?
- r - 数据框中的数据可视化和多元线性回归
- python - Python 中的字符串与 \r\n 不呈现 SCADA 标记中的回车换行符
- ruby-on-rails - 如何在 Rails 中编写乐观锁定测试用例