从我的库中尝试以下操作:
- [color=GREEN];; Text 2 CSV - Lee Mac[/color]
- [color=GREEN];; Writes all Text, MText & Attribute content from all layouts and within[/color]
- [color=GREEN];; all blocks and nested blocks to a selected CSV file.[/color]
- ([color=BLUE]defun[/color] c:txt2csv ( [color=BLUE]/[/color] data file )
- ([color=BLUE]cond[/color]
- ( ([color=BLUE]not[/color]
- ([color=BLUE]progn[/color]
- ([color=BLUE]vlax-for[/color] block ([color=BLUE]vla-get-blocks[/color] ([color=BLUE]vla-get-activedocument[/color] ([color=BLUE]vlax-get-acad-object[/color])))
- ([color=BLUE]if[/color] ([color=BLUE]eq[/color] [color=BLUE]:vlax-false[/color] ([color=BLUE]vla-get-isxref[/color] block))
- ([color=BLUE]vlax-for[/color] obj block
- ([color=BLUE]cond[/color]
- ( ([color=BLUE]wcmatch[/color] ([color=BLUE]vla-get-objectname[/color] obj) [color=MAROON]"AcDb*Text"[/color])
- ([color=BLUE]setq[/color] data ([color=BLUE]cons[/color] ([color=BLUE]vla-get-textstring[/color] obj) data))
- )
- ( ([color=BLUE]and[/color]
- ([color=BLUE]eq[/color] [color=MAROON]"AcDbBlockReference"[/color] ([color=BLUE]vla-get-objectname[/color] obj))
- ([color=BLUE]eq[/color] [color=BLUE]:vlax-true[/color] ([color=BLUE]vla-get-hasattributes[/color] obj))
- )
- ([color=BLUE]foreach[/color] att ([color=BLUE]vlax-invoke[/color] obj 'getattributes)
- ([color=BLUE]setq[/color] data ([color=BLUE]cons[/color] ([color=BLUE]vla-get-textstring[/color] att) data))
- )
- )
- )
- )
- )
- )
- data
- )
- )
- ([color=BLUE]princ[/color] [color=MAROON]"\nNo Text, MText or Attributes found."[/color])
- )
- ( ([color=BLUE]not[/color] ([color=BLUE]setq[/color] file ([color=BLUE]getfiled[/color] [color=MAROON]"Create CSV file"[/color] [color=MAROON]""[/color] [color=MAROON]"csv"[/color] 1)))
- ([color=BLUE]princ[/color] [color=MAROON]"\n*Cancel*"[/color])
- )
- ( ([color=BLUE]setq[/color] file ([color=BLUE]open[/color] file [color=MAROON]"w"[/color]))
- ([color=BLUE]foreach[/color] x data ([color=BLUE]write-line[/color] x file))
- ([color=BLUE]setq[/color] file ([color=BLUE]close[/color] file))
- ([color=BLUE]princ[/color] ([color=BLUE]strcat[/color] [color=MAROON]"\n"[/color] ([color=BLUE]itoa[/color] ([color=BLUE]length[/color] data)) [color=MAROON]" strings written to file."[/color]))
- )
- ( ([color=BLUE]princ[/color] [color=MAROON]"\nUnable to open CSV file for writing."[/color]))
- )
- ([color=BLUE]princ[/color])
- )
- ([color=BLUE]vl-load-com[/color]) ([color=BLUE]princ[/color])
|