![]() |
【转帖】sw version indicators
sw version indicators
hello all, i was woundering if there was some kind of indicator or way to identify what version a sw file was lasts save in. we work on quite a few different projects and some of our customers are not up to date with the latest version. we have had instiances where a file was opende in a newer version which made it unopenable to our customer. is there some type of indicator within the sw file to look for or anything that will allow us to verify the version of the file. any info will be appericiated thanks see the api help on "modeldoc2::versionhistory" paste this in as a new macro and it will tell you the most recent saved version: option explicit dim swapp as sldworks.sldworks dim swdoc as modeldoc2 dim version as variant dim currentversion as string dim i as long sub main() set swapp = application.sldworks set swdoc = swapp.activedoc version = swdoc.versionhistory currentversion = version(ubound(version)) msgbox "most recent save as: " & getversion(currentversion) & chr(13) & _ "minor release: " & right(currentversion, len(currentversion) - (instr(1, currentversion, "[") - 1)) end sub function getversion(byval version as string) as string dim versioncode as string versioncode = left(version, (instr(1, version, "[") - 1)) if versioncode = "44" then getversion = "solidworks 95" elseif versioncode = "243" then getversion = "solidworks 96" elseif versioncode = "483" then getversion = "solidworks 97" elseif versioncode = "629" then getversion = "solidworks 97plus" elseif versioncode = "822" then getversion = "solidworks 98" elseif versioncode = "1008" then getversion = "solidworks 98plus" elseif versioncode = "1137" then getversion = "solidworks 99" elseif versioncode = "1500" then getversion = "solidworks 2000" elseif versioncode = "1750" then getversion = "solidworks 2001" elseif versioncode = "1950" then getversion = "solidworks 2001plus" elseif versioncode = "2200" then getversion = "solidworks 2003" elseif versioncode = "2500" then getversion = "solidworks 2004" elseif versioncode = "2800" then getversion = "solidworks 2005" elseif versioncode = "3100" then getversion = "solidworks 2006" elseif versioncode = "3400" then getversion = "solidworks 2007" elseif versioncode = "3800" then getversion = "solidworks 2008" else msgbox "unrecognized major version.", vbcritical end if end function another option is retval = sldworks.versionhistory ( filename ) input: (bstr) filename full path name of the model for which to get the version history return: (variant) retval variant of type safearray of strings of the version history the advantage of this method is that you do not have to open the file in solidworks so you can find what future version the file is in. wayne matus texas engineering systems thanks to all quick |
所有的时间均为北京时间。 现在的时间是 01:45 PM. |