|
经典图书 本宏功能:在装配树中打开选中文件所在的文件夹
编码SOLIDWORKS版本:SolidWorks2013
程序简陋,请高手完善、修正。
谢谢!
宏文件源码如下:
OpenFileFolder.rar
(12.01 KB, 下载次数: 250)
源码如下:'------------------------------------------------------------------------------'OpenFileFolder'OpenFileFolder.swp-byLunkay,Copyright2017/6/29'Contact:[emailprotected](Lunkay)'功能:'打开所选文件所在的文件夹,并选中目标。''使用方法:'1、不选中任何文件,打开程序'2、选中装配体中的子件,打开程序'-------------------------------------------------------------------------------#IfVBA7ThenPrivateDeclarePtrSafeFunctionGetKeyboardStateLib"user32"(pbKeyStateAsByte)AsLong#ElsePrivateDeclareFunctionGetKeyboardStateLib"user32"(pbKeyStateAsByte)AsLong#EndIfDimswAppAsSldWorks.SldWorksDimswModelAsSldWorks.ModelDoc2DimswCompAsSldWorks.Component2DimswCompModelAsSldWorks.ModelDoc2DimsCompNameAsStringDimsMgrAsSldWorks.SelectionMgrDimsTypAsSwConst.swSelectType_eDimiReplyAsStringDimswFrameAsSldWorks.Frame'declarestatusbarobjectDimnRetvalAsLongDimbRetAsBooleanDimnErrorsAsLongDimnWarningsAsLongDimmlngSWFileTypeAsLongDimretAsIntegerDimFilePathAsStringDimmlAsStringDimkeys(0To255)AsByteConstMINSELECTIONS=1Submain()SetswApp=Application.SldWorks'getcurrentmodelSetswModel=swApp.ActiveDoc'checkifadocumentisactiveIfswModelIsNothingThenMsgBox"请先打开一个需要打开其所在位置的文件!",vbCritical,"打开文件所在位置ByLunkay"EndEndIfIfswModel.GetType=2ThenSetsMgr=swModel.SelectionManager'swModel.ClearSelection2True'MsgBox"请选择要打开位置的文件",vbCritical,"打开文件所在位置ByLunkay"IfsMgr.GetSelectedObjectCount=1OrsMgr.GetSelectedObjectCount=0ThenGetKeyboardStatekeys(0)Ifkeys(27)>127ThenEndGoToAAElseMsgBox"请选择要打开位置的文件",vbCritical,"打开文件所在位置ByLunkay"EndIfWhilesMgr.GetSelectedObjectCount127ThenEndWendAA:SetswComp=sMgr.GetSelectedObjectsComponent2(1)IfswCompIsNothingThensCompName=swModel.GetPathNameElsesCompName=swComp.GetPathNameEndIfret=Shell("explorer.exe/e,/select,"&sCompName,vbNormalFocus)swModel.ClearSelection2TrueElse'FilePath=Left(swModel.GetPathName,InStrRev(swModel.GetPathName,""))'分解路径ret=Shell("explorer.exe/e,/select,"&swModel.GetPathName,vbNormalFocus)EndIfswModel.ClearSelection2True'swFrame.SetStatusBarText"Done"'feeddonemessagetostatusbarEndEndSub
复制代码 |
|