Message 1 of 37
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
(defun c:2 ( / file dlg datalinkName datalinkDict datalinkObj insPt range )
(vl-load-com)
;;select Excel file
(setq file (getfiled "Select Excel File" "" "xlsx" 0))
(if file
(progn
;; Get Datalinks dictionary
(setq datalinkDict (vla-GetDataLinks (vla-Get-ActiveDocument (vlax-get-acad-object))))
;; Create new datalink
(setq datalinkObj (vla-Add datalinkDict datalinkName file))
;; Optional: prompt for range
(setq range (getstring T "\nEnter Excel range (e.g., Sheet1!A1:D10) or press Enter for full sheet: "))
;; Set the data range if provided
(if (> (strlen range) 0)
(vla-SetDataLinkRange datalinkObj range)
)
;; Prompt for insertion point
(setq insPt (getpoint "\nSpecify insertion point for the table: "))
;; Insert table from datalink
(command "_-TABLE"
"DATALINK"
datalinkName
(if (> (strlen range) 0) "Y" "N")
(if (> (strlen range) 0) range "")
insPt
)
)
(prompt "\nNo file selected.")
)
(princ)
)
Solved! Go to Solution.