Я пытаюсь запустить макрос VBA Solid Works, это должно быть легко исправить, однако я не знаю, что изменить.vba Ошибка времени выполнения '91': переменная объекта или с переменной блока не установлена
Когда я запускаю код ошибки кода с ошибкой времени выполнения
«91»
переменных объекта или переменная блока не установлен
Когда я нажимаю отладить показывает мне эту строку
Set Part = swApp.ActiveDoc
Я действительно не знаю, где искать, что делать, что может быть причиной, поэтому любая помощь очень ценится. Существенные части кода можно увидеть ниже (где ... указывает отсутствующий код, который является той же структурой, что и другие функции). Полный код можно увидеть здесь: Macro_Source_File
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Proc1
Proc2
Proc3
Proc4
Proc5
Proc6
Proc7
Proc8
Proc9
Proc10
Proc11
Proc12
Proc13
Proc14
Proc15
Proc16
Proc17
Proc18
Proc19
Proc20
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Curve1", "REFERENCECURVES", -0.00231262, -0.00182843, 0.020955, False, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve2", "REFERENCECURVES", -0.0021168, -0.00236411, 0.02720474, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve3", "REFERENCECURVES", -0.00223617, -0.0027144, 0.03345447, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve4", "REFERENCECURVES", -0.00249537, -0.00287881, 0.03970421, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve5", "REFERENCECURVES", -0.00282783, -0.00287835, 0.04595395, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve6", "REFERENCECURVES", -0.00351723, -0.00287119, 0.05220368, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve7", "REFERENCECURVES", -0.0055227, -0.0032572, 0.05845342, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve8", "REFERENCECURVES", -0.00756485, -0.0034921, 0.06470316, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve9", "REFERENCECURVES", -0.00948977, -0.00359409, 0.07095289, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve10", "REFERENCECURVES", -0.01123743, -0.00358632, 0.07720263, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve11", "REFERENCECURVES", -0.01275123, -0.00349398, 0.08345237, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve12", "REFERENCECURVES", -0.01289014, -0.00310294, 0.08970211, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve13", "REFERENCECURVES", -0.01208902, -0.00258381, 0.09595184, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve14", "REFERENCECURVES", -0.01103539, -0.00209482, 0.10220158, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve15", "REFERENCECURVES", -0.00978747, -0.00163788, 0.10845132, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve16", "REFERENCECURVES", -0.00828882, -0.00121351, 0.11470105, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve17", "REFERENCECURVES", -0.00686848, -0.00083556, 0.12095079, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve18", "REFERENCECURVES", -0.00678812, -0.00066149, 0.12720053, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve19", "REFERENCECURVES", -0.00585563, -0.00585251, 0.13245522, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve20", "REFERENCECURVES", -0.00522598, -0.01340759, 0.13263761, True, 1, Nothing, 0)
Part.FeatureManager.InsertProtrusionBlend False, True, False, 1, 6, 6, 1, 1, True, True, False, 0, 0, 0, True, True, True
End Sub
Sub Proc1()
Set Part = swApp.ActiveDoc
Part.InsertCurveFileBegin
boolstatus = Part.InsertCurveFilePoint(-0.00231262, -0.00182843, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00232201, -0.00179355, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.0023492, -0.00169261, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00193825, -0.00141403, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.001174, -0.00099736, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00022623, -0.00050828, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00087785, 0.00002491, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00210496, 0.00057278, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00341658, 0.00110609, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00477003, 0.00159708, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00612951, 0.00202043, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00745767, 0.00233337, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00869064, 0.00252003, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00977735, 0.0025858, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01067256, 0.00254594, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01134017, 0.00242162, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01175535, 0.00223452, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01190555, 0.00200133, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01190555, 0.00200133, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01178923, 0.00175006, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01141567, 0.00150298, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01080407, 0.00126068, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00998055, 0.00102135, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00897647, 0.00077979, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00782706, 0.0005274, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00657067, 0.00025367, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00523448, -0.00004854, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00386212, -0.00035713, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.0025091, -0.00066457, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00122199, -0.00096449, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00004512, -0.00124691, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00098083, -0.00149976, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00181994, -0.00171086, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00231106, -0.00183422, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00231224, -0.00182982, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00231262, -0.00182843, 0.020955)
boolstatus = Part.InsertCurveFileEnd()
boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, "Curve1")
End Sub
Sub Proc2()
Set Part = swApp.ActiveDoc
Part.InsertCurveFileBegin
boolstatus = Part.InsertCurveFilePoint(-0.0021168, -0.00236411, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00213034, -0.00232574, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00216954, -0.00221468, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00223031, -0.00204246, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00167844, -0.00160452, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00065574, -0.00097391, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00053875, -0.00028036, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00187018, 0.00044021, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00329779, 0.0011517, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00477601, 0.00181922, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00626681, 0.00241128, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00773188, 0.00287663, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00910086, 0.00319197, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.0103159, 0.00335898, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01132489, 0.00339094, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01208546, 0.00330851, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01256786, 0.00313392, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01275656, 0.00288487, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01275656, 0.00288487, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01264744, 0.00259265, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.012249, 0.00228309, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01158277, 0.00195851, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01067824, 0.00161909, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00957108, 0.00126169, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.0083016, 0.00087967, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00691378, 0.00046452, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00543877, 0.00001052, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00392367, -0.00045373, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.0024302, -0.00091504, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00101012, -0.00136224, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00028764, -0.00178035, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00141839, -0.00215231, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00211132, -0.00237963, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00211455, -0.00237048, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00211626, -0.00236563, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.0021168, -0.00236411, 0.02720474)
boolstatus = Part.InsertCurveFileEnd()
boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, "Curve2")
End Sub
.
.
.
Sub Proc20()
Set Part = swApp.ActiveDoc
Part.InsertCurveFileBegin
boolstatus = Part.InsertCurveFilePoint(-0.00522598, -0.01340759, 0.13263761)
boolstatus = Part.InsertCurveFilePoint(-0.00522724, -0.01340759, 0.1326561)
boolstatus = Part.InsertCurveFilePoint(-0.00523089, -0.01340759, 0.13270962)
boolstatus = Part.InsertCurveFilePoint(-0.00523654, -0.01340759, 0.13279261)
boolstatus = Part.InsertCurveFilePoint(-0.00524364, -0.01340759, 0.13289681)
boolstatus = Part.InsertCurveFilePoint(-0.00525152, -0.01340759, 0.133)
boolstatus = Part.InsertCurveFilePoint(-0.00525946, -0.01340759, 0.13312893)
boolstatus = Part.InsertCurveFilePoint(-0.00465279, -0.01340759, 0.13327821)
boolstatus = Part.InsertCurveFilePoint(-0.00393952, -0.01340759, 0.13341622)
boolstatus = Part.InsertCurveFilePoint(-0.00320939, -0.01340759, 0.13352877)
boolstatus = Part.InsertCurveFilePoint(-0.00248296, -0.01340759, 0.13360667)
boolstatus = Part.InsertCurveFilePoint(-0.00178327, -0.01340759, 0.13363211)
boolstatus = Part.InsertCurveFilePoint(-0.00114406, -0.01340759, 0.13360345)
boolstatus = Part.InsertCurveFilePoint(-0.0005905, -0.01340759, 0.13352848)
boolstatus = Part.InsertCurveFilePoint(-0.00014384, -0.01340759, 0.13341938)
boolstatus = Part.InsertCurveFilePoint(0.00017986, -0.01340759, 0.1332904)
boolstatus = Part.InsertCurveFilePoint(0.00037024, -0.01340759, 0.13315493)
boolstatus = Part.InsertCurveFilePoint(0.00042266, -0.01340759, 0.13302262)
boolstatus = Part.InsertCurveFilePoint(0.00042266, -0.01340759, 0.13302262)
boolstatus = Part.InsertCurveFilePoint(0.00033912, -0.01340759, 0.1329077)
boolstatus = Part.InsertCurveFilePoint(0.0001265, -0.01340759, 0.13282048)
boolstatus = Part.InsertCurveFilePoint(-0.00020546, -0.01340759, 0.13275933)
boolstatus = Part.InsertCurveFilePoint(-0.0006438, -0.01340759, 0.13272076)
boolstatus = Part.InsertCurveFilePoint(-0.00117325, -0.01340759, 0.13269902)
boolstatus = Part.InsertCurveFilePoint(-0.00177694, -0.01340759, 0.13268629)
boolstatus = Part.InsertCurveFilePoint(-0.0024366, -0.01340759, 0.13267345)
boolstatus = Part.InsertCurveFilePoint(-0.00313926, -0.01340759, 0.13265421)
boolstatus = Part.InsertCurveFilePoint(-0.00386076, -0.01340759, 0.13263536)
boolstatus = Part.InsertCurveFilePoint(-0.00457242, -0.01340759, 0.13261517)
boolstatus = Part.InsertCurveFilePoint(-0.00522301, -0.01340759, 0.13259405)
boolstatus = Part.InsertCurveFilePoint(-0.00522417, -0.01340759, 0.13261114)
boolstatus = Part.InsertCurveFilePoint(-0.00522496, -0.01340759, 0.13262275)
boolstatus = Part.InsertCurveFilePoint(-0.00522547, -0.01340759, 0.13263013)
boolstatus = Part.InsertCurveFilePoint(-0.00522577, -0.01340759, 0.13263454)
boolstatus = Part.InsertCurveFilePoint(-0.00522593, -0.01340759, 0.13263688)
boolstatus = Part.InsertCurveFilePoint(-0.00522598, -0.01340759, 0.13263761)
boolstatus = Part.InsertCurveFileEnd()
boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, "Curve20")
End Sub
Спасибо так много!
Вы отредактировали вопрос, включив мой ответ, или потому, что впервые сделали ошибку копирования/вставки? – litelite