A small modification to my code to answer your previous unanswered question. Yes, you can process all drawings at once.
Some preparation on your side; the easiest way to process is to make sure that (a copy of) your drawings are in one folder.
I've modified my code to support ODBX as this will be superior in processing speed in comparison to scripting over multiple drawings. One significant difference is it will now only extract blocks from ModelSpace (as in your example drawing) and not the last active layout from the last SAVE.
For this routine to work you will need the ObjectDBX Wrapper from Lee Mac from his website. Just download the LSP file and make sure you are loading it in a empty drawing or any other drawing that is not part of the batch to be processed.
http://www.lee-mac.com/odbxbase.html
Next load my modified code below and run the command RUNBLKEXTRACT.
Now select the folder with your drawings, click OK, get a cup of coffee (quickly as it will be finished before you know it) and check out the CSV in the same folder as your drawings.
(defun BlockExtract (BE_ODBX / BE_ActiveSpace BE_DataList BE_CSVFileID BE_ActiveDoc BE_WriteLine)
(setq BE_ActiveSpace (vla-get-ModelSpace BE_ODBX))
(vlax-for BE_Object BE_ActiveSpace
(if
(= (vla-get-ObjectName BE_Object) "AcDbBlockReference")
(setq BE_DataList
(append
BE_DataList
(list
(list
(vla-get-EffectiveName BE_Object)
(vla-get-Handle BE_Object)
(vlax-safearray->list (vlax-variant-value (vla-get-InsertionPoint BE_Object)))
(* (vla-get-Rotation BE_Object) (/ 180 pi))
)
)
)
)
)
)
(if
BE_DataList
(progn
(setq BE_CSVFileID (open (strcat (vl-filename-directory (vla-get-Name BE_ODBX)) "\\BlockExtract.csv") "a"))
(foreach BE_Item BE_DataList
(setq BE_WriteLine "")
(foreach BE_SubItem BE_Item
(setq BE_WriteLine (strcat BE_WriteLine (vl-princ-to-string BE_SubItem) ","))
)
(setq BE_WriteLine (strcat BE_WriteLine (vla-get-Name BE_ODBX)))
(write-line BE_WriteLine BE_CSVFileID)
)
(close BE_CSVFileID)
)
)
(mapcar 'vlax-release-object (list BE_ActiveSpace))
(princ)
)
(defun c:RunBlkExtract ( / )
(LM:ODBX
'BlockExtract
nil
nil
)
)