会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 模块函数VBA > 正文

未公开的SysCmd功能

时间:2009-10-12 08:37 来源:网络 作者:andymark 阅读:

未公开的SysCmd功能

(本文原作者: Wayne Phillips   翻译整理 : andymark )

 

这里只选择部分未公开的的SysCmd 功能:

1.把MDB转换成MDE文件

  用法: SysCmd 603, strPathInputMdb, strPathOutputMde

  Vb调用的方法:
  Dim objaccess
  Set objAccess = CreateObject("access.Application")
  objaccess.SysCmd 603, strPathInputMdb, strPathOutputMde
  Set objaccess= Nothing

  备注: 转换MDE前请确保你的MDB已转换到当前版本


2. 返回当前ACCESS.EXE 实例的PID (仅限access 2000以上版本)

   用法: SysCmd(609)
 

3. 编译VBA模块

   用法: SysCmd(504, Flag)

   说明: Flag =16483  ---编译VBA模块并保存
        
         Flag =16484  ---编译VBA模块但不保存


4.压缩数据库 (仅限access 97)

  用法:SysCmd(602, strPathSourceMdb, [strPathDestinationMdb])


5.创建 MSysIMEXSpecs 和 MSysIMEXColumns 表

  用法: SysCmd(555)

  MSysIMEXSpecs 和 MSysIMEXColumns 是用来保存导入/导出设置的相关信息,并不是access默认的系统表
 
  运行SysCmd(555) 会自动创建 MSysIMEXSpecs 和 MSysIMEXColumns 表


6.VBA引用数量 (仅限access 97)

  用法:  SysCmd(500)

  功能等同于:  access.References.Count


7.转为Access 97 文件格式 (仅限access 2000以上版本)

  用法: SysCmd(605, strPathOutput)

  功能等同于: Access.ConvertAccessProject strSourcePath, strDestinationPath, acFileFormataccess97


8.转换为ADP 项目 (没有表/查询) (仅限access 2000以上版本) 

  用法: SysCmd(607,strProjectPath)

  从当前的数库中生成一个新的ADP 项目,并导入窗体,报表,VBA模块,宏等对象
 
  此功能跟升迁向导不一样,它不处理表和查询的升迁.


9.查看Office助理提示内容 (仅限access 2000以上版本)

  用法: SysCmd(608, intTipID)
 
  intTipID 取值范围 (0-60)

  Debug.Print SysCmd(608, 6)    返回:" 当编写宏时,可以用 RunCommand 操作执行菜单命令。"


10.设置应用实例的键盘布局

  用法: SysCmd(710, InputLocaleID)

  InputLocaleID = &H08090809: British

  InputLocaleID = &H04090409: US English

  InputLocaleID = &04150415: Polish

  InputLocaleID = &04190419: Russian

  InputLocaleID = &H04080408: Greek


  功能与API ActivateKeyboardLayout 一样,操作更为方便
 

11.获得指定线程的活动键盘布局

  用法: SysCmd(711)

  返回当前应用程序的InputLocaleID


12.判断当前access对象是否有在设计视图模式

  用法: SysCmd(714)

  返回一个布尔值(true/false) True: 如果 窗体,报表,宏,模块 目前在设计模式打开 返回True

 

13.access 编译版本

   SysCmd(acSysCmdAccessVer) = 9  -> access 2000

        SysCmd(715) = 2719 ' access 2000 No Service Pack

        SysCmd(715) = 3822 ' access 2000 SP1

        SysCmd(715) = 4506 ' access 2000 SP2

        SysCmd(715) = 6620 ' access 2000 SP3

    SysCmd(acSysCmdAccessVer) = 10  -> access 2002

        SysCmd(715) = 2627 ' access 2002(XP) No Service Pack

        SysCmd(715) = 3409 ' access 2002(XP) SP1

        SysCmd(715) = 4302 ' access 2002(XP) SP2

        SysCmd(715) = 6501 ' access 2002(XP) SP3

    SysCmd(acSysCmdAccessVer) = 11  -> access 2003

        SysCmd(715) = 5614 ' access 2003 No Service Pack

        SysCmd(715) = 6355 ' access 2003 SP1

        SysCmd(715) = 6566 ' access 2003 SP2

(责任编辑:admin)

顶一下
(1)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: