乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 56|回复: 2

[编程交流] 学习vba

[复制链接]

3

主题

10

帖子

10

银币

初来乍到

Rank: 1

铜币
29
发表于 2022-7-6 17:25:06 | 显示全部楼层 |阅读模式
嘿,伙计们,我正在努力学习vba
 
我已经对lisp有了相当多的了解,但我想进入vba
 
有人能告诉我如何在vba中执行以下操作吗??
 
  1. ;1
  2. (defun c:test ()
  3. (princ)
  4. )
  5. ;2
  6. (setq dscl (getvar "dimscale"))
  7. ;3
  8. (setvar "dimscale" 1)
  9. 4;
  10. (command "-linetype" "_s")
  11. ;5
  12. (alert(strcat "\nthis is a test"))

 
我只是想看看vba中简单的东西是如何工作的
 
谢谢
回复

使用道具 举报

0

主题

132

帖子

198

银币

限制会员

铜币
-21
发表于 2022-7-6 18:23:28 | 显示全部楼层
  1. Sub Test()
  2. Dim vVar as variant 'Is a variant in case assigned to text or number
  3. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  4. vVar = ThisDrawing.GetVariable ("DIMSCALE")
  5. ThisDrawing.SetVariable "DIMSCALE" , 1# 'lb sign included if no decimal
  6. ThisDrawing.SendCommand "-LINETYPE" & vbCr & "S" & vbCr & "ByLayer" & vbCr & vbCr
  7. ThisDrawing.Utility.Prompt "this is a test"
  8. End Sub

 
  1. oops..
  2. If you want a pop up box  it is...
  3. MsgBox "this is a test"
回复

使用道具 举报

3

主题

10

帖子

10

银币

初来乍到

Rank: 1

铜币
29
发表于 2022-7-6 18:28:12 | 显示全部楼层
谢谢
 
当从lisp转换到VBA时,它会堆叠堆
 
还有几个请求
 
  1. (setq ss1 (ssget "x"))
  2. (setq EntN (ssname ss1 1))
  3. (setq EntL (entget EntN))
  4. (setq EntT (cdr (assoc 0 EntL)))
  5. (setq EntC (assoc 62 EntL))
  6. (setq ss2 (ssadd))
  7. (if (not EntC)
  8. (ssadd EntN ss2)
  9. );if
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 17:36 , Processed in 0.756592 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表