Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 导出为PDF宏缺少形状_Excel_Vba_Pdf - Fatal编程技术网

Excel 导出为PDF宏缺少形状

Excel 导出为PDF宏缺少形状,excel,vba,pdf,Excel,Vba,Pdf,我有一个宏,点击一个按钮,将生成一个条形码图像(图像只由形状组成),然后,将3张图纸导出为pdf。我遇到的问题是,这样做会生成条形码图像,但当导出为PDF时,用于生成条形码的形状不会显示出来。如果我打印或打印到pdf而不使用“导出到pdf”宏,它们将显示出来,但这违背了宏的要点 更令人头痛的是,此代码位于电子表格的不同版本(电子表格是一个模板)上,但宏过程在该电子表格上运行良好。我将工作代码复制/粘贴到电子表格中,这给我带来了麻烦,而麻烦制造者仍然无法工作。下面是相关代码。为什么导出的PDF中不

我有一个宏,点击一个按钮,将生成一个条形码图像(图像只由形状组成),然后,将3张图纸导出为pdf。我遇到的问题是,这样做会生成条形码图像,但当导出为PDF时,用于生成条形码的形状不会显示出来。如果我打印或打印到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

如果您手动将“问题”表导出为PDF格式,是否有效?是-通过并打印->打印为PDF格式将显示形状。打印为PDF格式,或另存为PDF格式
ExportAsFixedFormat
与另存为PDF相同。最初我是用print to PDF测试这一点的,但后来又改为PDF(我不知道有什么不同),我遇到了与使用宏时相同的问题。
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