Maybe...
cp.lsp
(defun c:cp nil
(ssget "_:L")
(command "_.script" (findfile "cp.scr"))
(princ)
)
cp.scr
(vl-load-com)
(setq fn (open "c:/doc.txt" "w"))
(setq k -1)
(while (not (equal (vla-get-activedocument (vlax-get-acad-object)) (vla-item (vla-get-documents (vlax-get-acad-object)) (setq k (1+ k))))))
(princ k fn)
(close fn)
(setq fn nil k nil)
_.copybase
0,0
P
_.new
_.pasteclip
0,0
(vl-load-com)
(setq fn (open "c:/doc.txt" "r"))
(setq k (read (read-line fn)))
(close fn)
(vla-activate (vla-item (vla-get-documents (vlax-get-acad-object)) k))
(defun doc nil
(if (findfile "c:\\doc.txt") (vl-file-delete "c:\\doc.txt"))
(setq doc nil fn nil k nil)
(princ)
)
(alert "Type (doc) at command prompt")
(princ)
Load cp.lsp in acaddoc.lsp and put cp.scr in SFSP of AutoCAD... It works for me, but you should test it...
HTH, M.R.