自贡黄明儒 发表于 2024-7-23 14:15:35

VBA开头白度提问,然后AI写程序,根据结果改写lisp

本帖最后由 自贡黄明儒 于 2024-7-26 13:36 编辑


自动新建模块module,并写入代码:
搜了大半天,也问了好多人。最后还是白度的AI帮我写的。为记念这一重要时刻,贴出来。。。
VB如下
Sub CreateModule()
    Dim vbProj As Object
    Dim vbComp As Object
       ' 设置对当前工程的引用
    Set vbProj = Application.VBE.ActiveVBProject
   
    ' 添加一个新的module
    Set vbComp = vbProj.VBComponents.Add(1)
   
    ' 设置module的名称
    'vbComp.Name = "MyNewModule"
   
    ' 现在可以在module中添加代码了
    vbComp.CodeModule.AddFromString "Sub MySub()" & vbCrLf & _
                                    "    MsgBox ""Hello, World!""" & vbCrLf & _
                                    "End Sub"
   
    ' 可选:激活module编辑器
    Application.VBE.ActiveCodePane.CodeModule.InsertLines 1, "'"
    Application.VBE.ActiveCodePane.CodeModule.InsertLines 2, "'" & vbTab & "Created by CreateModule macro"
    Application.VBE.ActiveCodePane.CodeModule.InsertLines 3, "'"
    Application.VBE.ActiveCodePane.CodeModule.InsertLines 4, ""
   
    ' 提示用户module已创建
    MsgBox "Module created successfully!"
End Sub


在lisp如下
(defun c:Example_VBE (/ ACTIVEVBPROJECT CODEMODULE MODULE NEWROUTINE VBCOMPONENTS VBE)
(setq VBE (vla-get-VBE (vlax-get-acad-object))) ;ActiveVBProject
(setq ActiveVBProject (vlax-get-property VBE 'ActiveVBProject))

(setq VBComponents (vlax-get-property ActiveVBProject 'VBComponents))
(setq module (vlax-invoke VBComponents 'Add 1))
(setqnewRoutine
   (strcat "Sub Dynamic_Procedure()"
   "\n    MsgBox \"New subroutine1.\""
   "\nEnd Sub"
   )
)
(setq CodeModule (vlax-get-property module 'CodeModule))
(vlax-invoke CodeModule 'AddFromString newRoutine)
)

你有种再说一遍 发表于 2024-7-23 16:31:45

自贡黄明儒 发表于 2024-7-23 16:12
前半句“lisp的终点是调用VB”,表示赞同。后半句,就不知道你是什么意思了。

写lisp的人没有注意到,很多时候写了两个for去比较数据.
然后这个for在lisp上面还不能中断.
和尚777这里就用了dictionary词典来减少时间复杂度
http://bbs.mjtd.com/thread-186202-1-1.html
词典的原理就是数组长度取模,这样就是O(1)速度.

自贡黄明儒 发表于 2024-7-23 16:12:37

你有种再说一遍 发表于 2024-7-23 14:31
lisp的终点是调用VB,如果连词典概念都没有,那么连时间复杂度都不晓得.嘻嘻

前半句“lisp的终点是调用VB”,表示赞同。后半句,就不知道你是什么意思了。

你有种再说一遍 发表于 2024-7-23 14:31:26

lisp的终点是调用VB,如果连词典概念都没有,那么连时间复杂度都不晓得.嘻嘻

moshouhot 发表于 2024-7-23 14:32:28

以后我们都是项目经理,代码可以不会写,但一定要懂上层架构和基本原理。

yuangengyun 发表于 2024-7-23 14:39:12

虽然看不懂,但是我很想学!

XPG 发表于 2024-7-23 14:49:06

干嘛的。看起来很牛逼的样子。

panliang9 发表于 2024-7-23 15:18:38

恭喜黄工迈入人工智能时代!

spp_wall 发表于 2024-7-23 15:54:22

恭喜黄工迈入人工智能时代!

tranque 发表于 2024-7-23 15:56:21

AI这么厉害了么,但是最厉害的还是会使用AI的人

自贡黄明儒 发表于 2024-7-23 16:09:44

tranque 发表于 2024-7-23 15:56
AI这么厉害了么,但是最厉害的还是会使用AI的人

网上搜不到,资料也找不到。百度搜,以VBA开头,就会自动写程序了,可能不完善,只能VBA开头。
页: [1] 2
查看完整版本: VBA开头白度提问,然后AI写程序,根据结果改写lisp