怎么样用lisp操作word生也文字的下标?
谁能说说怎么样用lisp操作word生也文字的下标,我对word了解不多下面的生成word文本的方法
(defun c:tt()
(vl-load-com)
(if (null MW-accept)(jinn-get-word-Lib))
(jinn-get-word-object)
(MW-put-bold range 1)
(MW-insertafter range "翔虹AutoCAD 技术中心")
(MW-put-bold range 0)
;(MW-put-Font.Subscript range 1)
(MW-insertafter range "\nVisual LISP ActiveX太神奇了!")
(setq filename "c:\\LSPTOOLS\\testdwg\\wordtest1.doc")
(vlax-invoke-method docobj "Saveas" filename nil nil nil nil nil nil)
)
(defun jinn-get-word-Lib ()
(setq office:dir "C:\\Program Files (x86)\\Microsoft Office\\")
(cond
((setq mwlib (findfile (strcat office:dir "office\\" "MSWORD8.olb"))))
((setq mwlib (findfile (strcat office:dir "office\\" "MSWORD9.olb"))))
((setq mwlib (findfile (strcat office:dir "office\\" "MSWORD.olb"))))
((setq mwlib (findfile (strcat office:dir "office11\\" "MSWORD.olb"))))
((setq mwlib (findfile (strcat office:dir "office12\\" "MSWORD.olb"))))
((setq mwlib (findfile (strcat office:dir "office14\\" "MSWORD.olb"))))
(t (setq mwlib nil))
)
(if mwlib
(vlax-import-type-library
:tlb-filename mwlib
:methods-prefix"MW-"
:properties-prefix"MW-"
:constants-prefix"MW-"
)
(alert "Word typelib 文件不存在")
)
)
(defun jinn-get-word-object()
(setq WORDobj (vlax-create-object "WORD.Application"))
(vla-put-visible WORDobj 1)
(setq docs(vlax-get-property WORDobj 'documents))
(setq docobj(vlax-invoke-method docs 'Add))
(setq pgobj(MW-get-paragraphs docobj))
(setq lastpgobj (MW-get-last pgobj))
(setq range (MW-get-range lastpgobj))
)
本帖最后由 snddd2000 于 2012-2-17 10:39 编辑
(setq msw (vlax-get-object "Word.Application"))
(if (equal nil msw)
(progn
; Word is not running. Start it.
(setq msw (vlax-create-object "Word.Application"))
(vla-put-visible msw :vlax-true)
)
)
(setq docs (vla-get-documents msw))
(setq doc (vlax-invoke-method docs 'Add))
(setq range (vlax-invoke-method doc 'Range))
(setq font (vlax-get-property range 'font))
(vlax-put-property range 'Start 0)
(vlax-put-property range 'End 1)
(vlax-put-property range 'Text "A")
(vlax-put-property font 'Subscript 0)
(setq range (vlax-invoke-method doc 'Range))
(setq font (vlax-get-property range 'font))
(vlax-put-property range 'Start 2)
(vlax-put-property range 'End 3)
(vlax-put-property range 'Text "1")
(vlax-put-property font 'Subscript 1)
(vlax-put-property (vlax-get-property Range 'font) 'subscript:vlax-true) 谢谢,我试试,到我给划帐, 越来越讲究了哈,都在用WORD了 我也不清楚,不过我可以提供一个思路,你先在word中录制宏,然后研究这个宏,慢慢可以找到答案,我以前就是这样做的。 下载学习一下
页:
[1]