https://www.autodesk.com/jp/support/technical/article/caas/tsarticles/ts/3qvavl9J4BvU49XExKmYXM.html
ここのVBAコードをAIに頼んでautolispコードに移植してもらいました。動くのかは判りません。
(defun c:exportPartsListExcel ()
(setq BasePath "C:\\TEMP")
(setq BomName "MAIN")
(setq acadDoc (vla-get-ActiveDocument (vlax-get-acad-object)))
;; SymbolBBMMgrを取得
(setq symBBmgr (vlax-invoke-method acadDoc 'GetInterfaceObject "SymBBAuto.McadSymbolBBMgr"))
;; McadBOMMgrを取得
(setq cadBOMmgr (vlax-get-property symBBmgr 'BOMMgr))
;; BOMNameのBOMTableが存在するかをチェック
(if (vlax-invoke-method cadBOMmgr 'BOMTableExists BomName)
(progn
;; BOMTableを取得
(setq cadBom (vlax-invoke-method cadBOMmgr 'GetBOMTableByName BomName))
;; パーツリストを取得
(setq partsList (vlax-get-property (vlax-get-property cadBom 'partLists) 'Item 0))
;; エクセル形式でエクスポート
(if partsList
(progn
(setq fileName (strcat BasePath "\\" (car (vl-string->list (vla-get-Name acadDoc) ".")) ".xls"))
(vlax-invoke-method cadBOMmgr 'ExportPartList 1 partsList fileName "MAIN" :vlax-true)
)
)
)
)
)