Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

有谁可以来解释一下这段代码

阿杜  发表于:2012-05-11 22:11:06  
复制

初学者请教,下面这段代码本意是要在立即窗口打印当前数据库中所有的宏名,可是没有实现预期的效果,单步执行时发现程序从With 子句直接跳到End with 子句,谁能给个解释

Sub IterateAllMacros()
    'Declare iteration variable
    Dim vnt As Variant
    'Loop through each macro in the current project,
    'printing the name of each macro to the Immediate window
    With CurrentProject
        For Each vnt In .AllMacros
            Debug.Print vnt.Name
        Next vnt
    End With
End Sub

 

 

 

Top
阿杜 发表于:2012-05-11 22:11:42

补充:

同样的代码在打印allreports\allforms\allmodules集合时,立即窗口都可以显示输出结果,唯有打印allmacros时,不显示内容



殷小宝 发表于:2012-05-11 23:00:19

我试了你的代码,可以运行啊,而且正常.



殷小宝 发表于:2012-05-11 23:01:27
是不是你的数据库里没有宏?

殷小宝 发表于:2012-05-11 23:01:29
是不是你的数据库里没有宏?

纵云梯 发表于:2012-05-11 23:20:20
你的数据库里没有任何的Macro吧(试试创建一个新的Macro)?我用你的代码显示没问题啊!

阿杜 发表于:2012-05-12 08:15:46

非常感谢楼上三位网友的回答,我还真没注意到这个问题,谢谢



总记录:6篇  页次:1/1 9 1 :