![]() |
【转帖】problem with opendoc6
problem with opendoc6
i am working on my automation code... its a long process. i have figured out customer user objects, how to pass these guys and a while mess of of stuff but when it gets to my set tubemodel = swapp.opendoc6(newtubefilename, swdocpart, 0, "", errs, warns) command, it tells me it cannot open it. the newtubefilename is valid, the set code a little above it creates it fine, i can see it in the directory and everything. when i put a stop just after this line the values in there are set as follows swdocpart = "empty" errs = "1024" warns = "0" and due to my error checking kicks me out of my sub and loops to the next one it should do, all dying at this point... any help would be appreciated... errs = 1024 is an invalid file type error code. to find this you can use object browser. set narrow down the libraries to just swconst. then search for swfileload. look at each one of it's members to mind out what the number is for that code. wayne matus texas engineering systems possibly trying to open a file of the wrong extension, or wrong version. can you manually open the file using the same solidworks instance? this is the code leading up to the error, its right in the beginning of the program... partfilename = "j:\users\ahodge\tube profiles\" & tubedata.tubepartno & "-" & tubedata.pc_mk newtubefilename = partfilename & ".sldprt" newtubetmpldrwgfilename = partfilename & ".slddrw" vbfilesysobj.copyfile masterpartfile, newtubefilename, true set vbfileobj = vbfilesysobj.getfile(newtubefilename) if vbfileobj.attributes and 1 then 'test if read-only vbfileobj.attributes = vbfileobj.attributes - 1 'clear read-only set vbfileobj = nothing end if set tubemodel = swapp.opendoc6(newtubefilename, swdocpart, 0, "", errs, warns) #if showdebugs then if tubemodel is nothing then ' error opening tube model swapp.sendmsgtouser "error! " & chr(34) & newtubefilename & chr(34) & " could not be opened!" exit sub end if #end if basically i copy a master template file, as the new name, then open it. the template and new file are both made in the same version of solidworks and both can be opened fine via the file menu once the program has stopped... this same code works correctly in another macro in the exact same form... i don't get why it doesn't work.... seems the swdocpart doesn't work when called from excel.... if i use the value 1 for part and 3 for drawing it works.... now to make the rest of the program work.... to use swdocpart you will have to add a reference to the solidworks 200x constnt type library. wayne matus texas engineering systems to use swdocpart you will have to add a reference to the solidworks 200x constnt type library. wayne matus texas engineering systems how do i do that? i am using vba from excel, that also might fix some other problems i am having... nevermind, found the references section.. quick |
所有的时间均为北京时间。 现在的时间是 04:18 PM. |