Vbscript 我试图将VB脚本中的值传递回mathcad工作表,但该脚本无法创建工作表对象

Vbscript 我试图将VB脚本中的值传递回mathcad工作表,但该脚本无法创建工作表对象,vbscript,mathcad,Vbscript,Mathcad,有人能告诉我为什么activeworksheet对象MCWS不是由下面的VB脚本创建的吗?它是mathcad工作表中组合框的代码。谢谢 Public Sub SizeBoxEvent_Start() Dim objEX Dim objMC Dim MCWS Dim objEXWB Dim objEXWS Dim intLineNo Dim objRange End Sub Sub SizeBoxEvent_Exec(Inputs,Outputs) Set ob

有人能告诉我为什么activeworksheet对象MCWS不是由下面的VB脚本创建的吗?它是mathcad工作表中组合框的代码。谢谢

Public Sub SizeBoxEvent_Start()
  Dim objEX
  Dim objMC

  Dim MCWS
  Dim objEXWB
  Dim objEXWS
  Dim intLineNo
  Dim objRange
End Sub

Sub SizeBoxEvent_Exec(Inputs,Outputs)
  Set objMC = CreateObject("MathCad.Application")
  Set MCWS = objMC.ActiveWorkSheet

  Set objEX = CreateObject("Excel.Application")
  Set objEXWB = GetObject("C:\UB_Dims.xls")

  Set objEXWS = objEXWB.worksheets("UB")

  Dim MyList(71)

  For i = 0 to 71
    Mylist(i) = CStr(objEXWS.cells(i+3,1))
    'MsgBox Mylist(i)
  Next

  SizeBox.List() = MyList
  intLineNo = SizeBox.ListIndex + 3
  objRange = "A" & intLineNo & ":U" & intLineNo

  Dim varDimProps(21)
  Dim varDimName(21)

  For i = 1 to 21
    varDimProps(i) = objEXWS.cells(intLineNo,i)
    varDimName(i) = CStr(objEXWS.cells(1,i))
  Next

  MCWS.SetValue "Size", ABC
  MCWS.SetValue "M", 288
  MCWS.SetValue "D", 203

  Outputs(0).Value = varDimProps
End Sub

Sub SizeBoxEvent_Stop()
  Rem TODO: Add your code here
End Sub

我没有使用公共sub,所以我不知道您的声明是否会转移到其他sub。以下是我从PTC论坛中挑选的一些东西,该论坛在Excel 2007中使用Mathcad 15.0(我知道Excel加载项在更高版本的Excel中已被破坏)

我的猜测是,您应该在使用对象的函数中定义对象。另外,我认为您不能将Activeworksheet用于MathCad工作表

Private Function RunMCAD(InputFile As String)
Dim MC As Object
Set MC = CreateObject("Mathcad.Application")
MC.Visible = True

Set Wk = MC.Worksheets
Set WS = Wk.Open("C:\RDDA\RDDA 2014-10-16_excel.xmcd")
WS.SetValue "InputFile", InputFile

WS.Recalculate
WS.Save
WS.Close False
MC.Quit
RunMCAD = "Done"
End Function

您是否收到任何错误消息?是否应
Set objEXWB=GetObject(“C:\UB_Dims.xls”)
be
Set objEXWB=objEX.Workbooks.Open(“C:\UB_Dims.xls”)