2015-09-27 66 views
0

Femap是一款支持VBA的工程仿真軟件。我正在嘗試使用Femap內存地址中運行的VBA,它使用與Microsoft IDE不同的Femap API編程應用程序。我想知道如何在VB中使用類而不使用微軟IDE使用vba類而不使用Microsoft VB編輯器

+0

謝謝你的回覆。 Femap和其他一些軟件使用VBA實現自動化。這些應用程序有自己的開發環境,與按Alt_F11時出現的VBA Microsoft IDE不同。在很多這些應用程序中,您無法通過插入模塊類來創建類。只有一個源文件,所有類都應該在該源文件中定義。我可以使用type和end類型來模擬該文件中的類,但我不知道如何使用類。我嘗試過公共類的類名,一些代碼,結束類,但這不是正確的語法。 – Ali

回答

0

其實我的問題是某種誤解。讓我指出我的理解:

  • VBA由Microsoft作爲應用程序編程的一部分出售。這正是在Office中可以看到的。當VBA是應用程序的一部分時,您可以使用IDE直接針對應用程序工作。
  • VBA始終是COM。當你想對付像Femap這樣的庫時,你也可以使用Visual Studio 2013和c#。你將不得不創建一個Interop來對付Femap。
  • 你也可以使用Visual Studio 6並在VB中工作(我不是指VB.net)。某種老派;-)
  • 看看這個樣本,不幸的是在德國Femap Tutorial API Programmierung mit Visual Studio
0

查看2,000頁的FEMAP API手冊,默認爲安裝目錄中的「pdf」文件夾。至於把事情在FEMAP會話去,你的最簡單的方法是:

(先安裝類型庫,說明API文檔中)

Option explicit 

Dim App as femap.model 
set App = GetObject(, "femap.model") 
'OR, set App = CreateObject(, "femap.model") to CREATE a femap session.. etc. 

,你在爲做的東西,創造。對象,並開始工作! Sets是操縱萬物中最重要的...

' 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窗口程序類似的方法......請參閱文檔。

相關問題