找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 764|回复: 0

[讨论]:关于WORD和CAD的接口问题

[复制链接]
发表于 2003-8-26 13:46:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
把WORD中的文字、表格等提取相关属性包括文字的大小、字型、颜色等和CAD之间的接口问题,希望高手能讨论一下~
这个是在一本书上找到的一个连接程序:

  1. (vl-load-com)
  2. (setq *AcadApp* (vlax-get-acad-object))
  3. (setq *ModelSpace* (vla-get-ModelSpace
  4.                      (vla-get-activedocument *AcadApp*)))

  5. (if (equal nil mswc-wd100Words)
  6.   (vlax-import-type-library
  7.     :tlb-filename "C:/Microsoft Office/Office10/MSWORD.OLB"
  8.     :methods-prefix "mswm-"
  9.     :properties-prefix "mswp-"
  10.     :constants-prefix "mswc-"
  11.     )
  12.   )

  13. (setq msw (vlax-get-object "Word.Application"))
  14.     (if(equal nil msw)
  15.       (progn
  16.         (setq msw (vlax-create-object "Word.Application"))
  17.               (vla-put-visible msw :vlax-true)
  18.                )
  19.       )

  20. (if(/= nil msw)
  21.    (progn
  22.        (setq docs (vlax-get-object "Word.Application"))
  23.           (vla-put-visible msw :vlax-true)
  24.              (setq docs (vla-get-documents msw))
  25.                   (setq doc (mswm-add docs))
  26.                       (setq paragraphs (mswp-get-paragraphs doc))
  27.                          (vlax-for ent *ModelSpace*)

  28.      
  29. (if(equal(vla-get-ObjectName ent) "AcDbMText")
  30.    (progn
  31.      (setq text (vla-get-TextString ent)
  32.            textpos  (vla-get-InsertionPoint ent)
  33.            attyTextpos (vlax-variant-value textpos)
  34.            textinfo
  35.             (strcat
  36.               (rtos(vlax-safearray-get-element
  37.                      arrayTextpos
  38.                      0
  39.                      )
  40.                    2
  41.                    2
  42.                    )
  43.               "'"
  44.               (rtos(vlax-safearray-get-element
  45.                      arrayTextpos
  46.                      1
  47.                      )
  48.                    2
  49.                    2
  50.                    )
  51.               "'"
  52.               (rtos(vlax-safearray-get-element
  53.                      arrayTextpos
  54.                      2
  55.                      )
  56.                    2
  57.                    2
  58.               )
  59.               )
  60.            )
  61.      (setq pg(mswp-get-last paragraphs))
  62.      (setq range (mswp-get-range pg)
  63.            (mswp-put-bold range 1)
  64.             (mswp-put-underline range mswc-wdUnderlineSingle)
  65.            (mswm-InsertAfter
  66.              range
  67.              (strcat "AcDBMText at position" textinfo "\n")
  68.              )
  69.             (setq pg (mswp-get-last paragraphs))
  70.            (setq range (mswp-get-range pg))
  71.             (mswp-put-bold range 0)
  72.            (mswp-put-bold range 0)
  73.             (mswp-put-underline range mswc-wdUnderlineNone)
  74.            (mswm-InsertAfter range (strcat text "\n\n"))
  75.             )
  76.      )
  77.    )
  78.      )
  79.    (princ "\nNo Microsoft Word application found.\n")
  80.    )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-26 04:16 , Processed in 0.415170 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表