0

谁能告诉我为什么活动工作表对象 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
4

1 回答 1

1

我没有使用公共潜艇,所以我不知道你的声明是否会延续到其他潜艇。这是我从 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
于 2014-10-16T17:27:18.090 回答