具體想法是設定一個按鈕,然后彈出對話框。找到想要打開的檔案,再打開它?感謝各位大神
uj5u.com熱心網友回復:
如果只是彈出打開檔案對話框,這個用common dialog box控制元件就行。如果選擇檔案后,還要打開具體檔案,就需要自行構造代碼。
uj5u.com熱心網友回復:
謝謝謝謝謝謝uj5u.com熱心網友回復:
請問你知道后續代碼是什么嗎Private Sub open_Click()
CommonDialog2.CancelError = True ' 設定“CancelError”為 True
On Error GoTo ErrHandler ' 設定標志
CommonDialog2.Flags = cdlOFNHideReadOnly ' 設定過濾器
CommonDialog2.Filter = "All Files (*.*)|*.*|Text Files" & "(*.txt)|*.txt|Batch Files (*.bat)|*.bat" ' 指定預設的過濾器
CommonDialog2.FilterIndex = 2 ' 顯示“打開”對話框
CommonDialog2.ShowOpen ' 顯示選定檔案的擴展名
Text2 = Mid(CommonDialog2.filename, InStr(CommonDialog2.filename, ".") + 1)
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
swApp.Visible (True)
Set Part = swApp.OpenDoc(Text2, swDocPART)
Exit Sub
ErrHandler: ' 用戶按了“取消”按鈕
Exit Sub
End Sub
我的代碼是這樣,但是只是打開了SolidWorks程式
uj5u.com熱心網友回復:
我用Delphi做的,但最后也只是啟動了Solidworks程式,檔案沒有打開。有沒有誰懂得,解釋下?swapp:=GetOrCreateObject('SldWorks.Application'); //運用函式GetOrCreate創建或獲取SolidWorks物件
swapp.Visible:=true; //使創建的Solidworks物件可見
part:=swapp.OpenDoc('E:\典型焊縫型別\T型單V.SLDPRT');
uj5u.com熱心網友回復:
鄙視樓上挖墳…………

既然你都看到“啟動了Solidworks程式”,那說明代碼直至 swapp.Visible:=true; 都是“執行正常”的。
而“檔案沒有打開”,那只能是:
part:=swapp.OpenDoc('E:\典型焊縫型別\T型單V.SLDPRT');
這句的“執行結果”不符合預期。
有兩方面的可能:
1. Solidworks的COM介面有問題(但可能性很小,這么個“大工程”,豈會這點小事都做不好!)。
2. 你傳遞給 OpenDoc( ) 函式的引數不對!
這是最大的可能,你應當查閱一下它的檔案,這個函式應該怎樣使用。
是不是還有別的引數因“被你省略”造成了“檔案已經打開、但‘沒展示出來’(比如默認‘后臺打開’)”,于是你認為檔案沒打開……
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/50028.html
標籤:API
