Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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
使用vba类而不使用Microsoft VB编辑器_Vba_Class - Fatal编程技术网

使用vba类而不使用Microsoft VB编辑器

使用vba类而不使用Microsoft VB编辑器,vba,class,Vba,Class,Femap是一个支持VBA的工程仿真软件。我试图使用VBA运行在Femap内存地址使用API编程应用程序的Femap,这是不同于微软的IDE。我想知道如何在VB中使用类而不使用Microsoft IDE事实上,我对你的问题有些误解。让我指出我的理解: VBA由Microsoft作为应用程序编程的一部分出售。这正是在办公室里可以看到的。当VBA是应用程序的一部分时,可以使用IDE直接针对应用程序工作 VBA始终是COM。当您想要使用像Femap这样的库时,您也可以使用Visual Studio

Femap是一个支持VBA的工程仿真软件。我试图使用VBA运行在Femap内存地址使用API编程应用程序的Femap,这是不同于微软的IDE。我想知道如何在VB中使用类而不使用Microsoft IDE

事实上,我对你的问题有些误解。让我指出我的理解:

  • VBA由Microsoft作为应用程序编程的一部分出售。这正是在办公室里可以看到的。当VBA是应用程序的一部分时,可以使用IDE直接针对应用程序工作
  • VBA始终是COM。当您想要使用像Femap这样的库时,您也可以使用Visual Studio 2013和c#。您必须创建一个互操作来处理Femap
  • 您也可以使用VisualStudio6并在VB中工作(我不是指VB.net)。某种古老的学校;-)
  • 看看这个样本,不幸的是用德语
查看2000页的FEMAP API手册,该手册默认为安装目录中的“pdf”文件夹。至于在FEMAP会话中让事情进展顺利,最简单的方法是:

(首先安装类型库,说明见API文档)

你也在。至于做事,创建对象并开始工作!!集合对于操纵事物来说是最重要的

' Declare / set variable for freebody and element set objects
Dim fsE As femap.Set
Set fsE = App.feSet
--->而且大多数数据都是以变体或数组的形式来回传输的,用户可以很容易地对其进行操作

Dim numID as long
Dim vArray as variant

    fsE.Clear
    rc = fsE.AddArray(numID, vArray)
    If ffb.SetNodes(True, rc) = FE_OK Then
        rc = ffb.SetElements(True, fsE.ID)
    End If

至于嵌入您自己的应用程序等等,这种方法与大多数其他VB windows程序类似。。。请参阅文档。

感谢您的回复。Femap和许多其他软件使用VBA实现自动化。这些应用程序有自己的开发环境,它不同于按Alt_F11时出现的Microsoft IDE for VBA。在许多此类应用程序中,无法通过插入模块类来创建类。只有一个源文件,所有类都应该在该源文件中定义。我可以使用type和end-type来模拟文件中的类,但我不知道如何使用类。我尝试了公共类classname、一些代码和end类,但这不是正确的语法。
Dim numID as long
Dim vArray as variant

    fsE.Clear
    rc = fsE.AddArray(numID, vArray)
    If ffb.SetNodes(True, rc) = FE_OK Then
        rc = ffb.SetElements(True, fsE.ID)
    End If