乐筑天下

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

请问怎么才能在命令行里输函数名或过程名就能动行VBA程序

[复制链接]

25

主题

61

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
161
发表于 2003-4-4 12:10:00 | 显示全部楼层 |阅读模式
我是一个新手,VB还可以,对VBA不太在行,我发觉你们可以直接在
COMMAND:   中运行VBA工程,我就是不行,我每次用都是先进入VBA界面,然后按F5运行,可是这样很,能告诉我怎么才能在命令行里输函数名或过程名就能动行VBA程序吗,下面是个例子:
  Public Sub a1()
Dim aa As Integer
aa = MsgBox("fals;jkdf;alksd", vbInformation, "jfkladsjdl;")
End Sub
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2003-4-2 22:28:00 | 显示全部楼层
可以说,不利用LISP程序页直接在命令行中简单加载运行VBA程序的可能性是没有的。
通过一个简短的LISP程序来加载运行是最简单的,方法有以下几种:
(例中假设VBA工程为:addtol.dvb,模块为:mouldaddtol,过程为:subaddtol
1.定义并使用-vbarun来运行:如
(defun c:addtol()
    (setvar "cmdecho" 0)
    (command "-vbarun" "addtol.dvb!mouldaddtol.subaddtol")
    (setvar "cmdecho" 1)
(princ)
)
2.通过定义使用vl-vbaload和VL-VBARUN函数来运行,如:
(vl-vbaload (findfile "AddTol.dvb"))
(defun c:addtol()
    (setvar "cmdecho" 0)
;        (vl-vbarun "mouldaddtol.subaddtol")
(princ)
)
3.通过自定义的加载函数及相关词句来完成,如:
(vl-load-com)
;;自动加载VBA程序的函数
(defun AutoVBALoad (cmdname project macro)
  (eval
    (list 'defun
          (read (strcat "C:" cmdname))
          nil
          (list
            'vl-vbarun
            (strcat
              project
              "!"
              (if macro
                macro
                cmdname
              )
            )
          )
          (princ)
    )
  )
)
;;自动加载VBA程序
(AutoVBALoad "AD" "addtol.dvb" "mouldaddtol.subaddtol")
4.还有一种就是通过VBA中的事件结合定义一个空的LISP程序来完成,如:
;;一些VBA程序的触发程序(LISP程序)
(defun c:ad()(princ))
'VBA事件:
Private Sub AcadDocument_BeginLisp(ByVal FirstLine As String)
Select Case UCase(FirstLine)
       Case "(C:AD)"
             subaddtol
End Select
End Sub
这四种方法都是要通过LISP程序来辅助完成,你看哪种简单一点。
回复

使用道具 举报

25

主题

61

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
161
发表于 2003-4-4 18:37:00 | 显示全部楼层
可能我太笨了,用你的方法老是说找不到宏,能不能给我一个例子,我好依样而为,最好是有VBA源代码的,谢谢您了
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 08:38 , Processed in 0.463431 second(s), 58 queries .

© 2020-2025 乐筑天下

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