几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   SolidWorks二次开发 (http://www.dimcax.com/hust/forumdisplay.php?f=111)
-   -   【转帖】iterate all drawings in a folder 9and sub-folders0 (http://www.dimcax.com/hust/showthread.php?t=5471)

yang686526 2009-04-13 12:25 PM

【转帖】iterate all drawings in a folder 9and sub-folders0
 
iterate all drawings in a folder (and sub-folders)
hi,
i'm looking for some sample code that will find all .slddrw files in a folder and it's sub-folders, then place them into an array so that i can iterate through them one by one.
i've looked in the api help samples but havn't found anything yet...
thanks!
zander
scott nelson (zander)
nelson parametrics
scott
two ways that i know of:
use the dir in visual basic following is a sample. change your path to what your folder is. this sample only get the one folder.
sub main()
'gets drawing files
dim filepath as string
dim filename as string
filepath = "c:\solidworks working\04-14-08\"
filename = dir(filepath & "*.slddrw")
do while filename <> ""
filename = dir
debug.print filename
loop
end sub
or check out the filesystemobject in visual basic. you will need to load the reference which is under tools/references and is called "microsoft scripting runtime". check help for folder objects.
dan miel
in vb.net:
imports system.io
sub getallfiles(byval directorypath as string)
dim filecount as integer
dim dircount as integer
dim arrfilenames as string()
dim arrdirectories as string()
dim currentdir as string
currentdir = directorypath
arrfilenames = directory.getfiles(currentdir, "*.slddrw")
for filecount = 0 to ubound(arrfilenames)
allfilenames.add(arrfilenames(filecount))
next
arrdirectories = directory.getdirectories("r:\solidworks\")
for dircount = 0 to ubound(arrdirectories)
getallfiles(currentdir & arrdirectories(dircount))
next
end sub
quick


所有的时间均为北京时间。 现在的时间是 08:53 AM.