Один из моих макросов выдает мне сообщение об ошибке «класс не поддерживает автоматизацию или не поддерживает ожидаемый интерфейс», когда я пытаюсь экспортировать рабочую таблицу в формате PDF.
Я переместил свой файл инвентаря Excel с MacBook, на котором работала Windows 7, на ПК с Windows 10. Все макросы, которые я использую в повседневной работе, работали, кроме одного, который состоял из экспорта листа в PDF. Я исследовал ошибку и обнаружил, что могут быть проблемы с файлами dll, так как я перешел с Windows 7 на Windows 10, что имело смысл, потому что этот же макрос работал отлично в течение многих месяцев на моей машине с Windows 7.
Полная ошибка была:
«Ошибка времени выполнения« 430 »:
класс не поддерживает автоматизацию или не поддерживает ожидаемый интерфейс. "
Я не очень опытен, когда дело доходит до файлов EXE и DLL, поэтому я не мог найти способ «обновить» их
Sub ExportPDFProforma()
Application.ScreenUpdating = False
Sheets("Sheet1").Select
Dim ExportName As String
If Range("B5").Value = "" Then
ExportName = "Test"
Else
ExportName = Range("B5").Value
End If
Sheets("Sheet1").Copy Before:=Sheets(1)
Sheets("Sheet1 (2)").Select
Sheets("Sheet1 (2)").Move After:=Sheets(5)
Sheets("Sheet1 (2)").Select
Sheets("Sheet1 (2)").Name = "Print Preview"
Range("A1:L49").Select
Range("L49").Activate
Selection.Copy
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Call PreviewFormatting
Dim Shp As Shape
For Each Shp In ActiveSheet.Shapes
If Not Shp.Type = msoPicture Then
Shp.Delete
End If
Next Shp
If Range("B4") = "x" Then
Call HideBlankRows(Range("F14:F23"), Range("D36:D45"))
Else
Call HideBlankRows(Range("F14:F23"), Range("D34:D43"))
End If
Worksheets("Print Preview").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\...", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Range("A1:B1").Select
Application.DisplayAlerts = False
Sheets("Print Preview").Delete
Application.DisplayAlerts = True
Sheets("Sheet1").Select
Application.ScreenUpdating = True
End Sub
Строки ошибок:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\...",
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Это также может быть просто синтаксическая ошибка где-то из-за более новой версии VB в Windows 10.
Кто-нибудь знает способ исправить это или способ обойти это?