2015-12-07 49 views
0

我創建了一個VB類來操作CATIA項目。 VB代碼被編譯成一個加載到C#項目中的dll。從Visual Studio以批處理模式運行CATIA VBA宏

Imports ProductStructureTypeLib 
Imports INFITF 
Imports MECMOD 

Public Class MyCATIAClass 
    Private catia As INFITF.Application 

    Public Sub New() 
     catia = GetObject(, "CATIA.Application") 
    End Sub 

    Public Sub doStuff() 
     ' do stuff 
    End Sub 

End Class 

而在C#:

MyCATIAClass catOb = new MyCATIAClass(); 
catOb.doStuff(); 

這一切正常。我的問題是:是否可以在批處理模式下運行該方法?這會顯着提高運行時的性能。

回答

0

你最好創建一個批處理文件(並呼籲從裏面的vbfile)通過下面的代碼 的Process.Start並從C#代碼運行它(「您的批處理文件\ nameOfBatchFile.bat的路徑」)

在此之前,在一個記事本創建一個批處理文件寫下面的命令 並將其保存爲fileName.bat

@echo on 
cd path of vbfileName  
start vbfileName 
0

爲了不可視化,以執行任務,這足以可見屬性設置爲假。

Imports ProductStructureTypeLib 
Imports INFITF 
Imports MECMOD 

Public Class MyCATIAClass 
Private catia As INFITF.Application 

Public Sub New() 
    catia = GetObject(, "CATIA.Application") 
End Sub 

Public Sub doStuff() 
    catia.Visible = False 
    ' do stuff 
End Sub 

末級

0

開始CATIA在批次: 「C:\ CV5 \ B20 \ win_b64 \代碼\ BIN \ CNEXT.exe -batch -env CATIA.V5R20.B20 -direnv C:\ cv5env \ CATEnv「

相關問題