转帖]操作系统表自定义菜单的另类导入导出-赖观配
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


转帖]操作系统表自定义菜单的另类导入导出

发表时间:2007/10/18 21:59:28 评论(0) 浏览(6989)  评论 | 加入收藏 | 复制
   
摘 要:转帖]操作系统表自定义菜单的另类导入导出
正 文:
转帖自:office-cn
作者:Benjamin_luk

一、自定义菜单的存放位置:

所有自定义菜单都存放在系统表:MsysCmdbars 当中,类型为二进制

如果没有MsysCmdbars或表中没有记录, 说明没有自定义菜单

二、MsysCmdbars的结构

所有自定义菜单的资料都存放在[Grptbcd]二进制字段中,包括名称、图标、引用代码。。。

字段[TBNAME]仅作参考用

三、MsysCmdbars的导入和导出

不可以在打MsysCmdbars表的状态下,对数据进行删除或增加,系统会提示:本表不可删除,
数据为读。

但经本人研究发现通过以下方法可对MsysCmdbars表中的数据进行修改或增加:

Dim obj As ADODB.Stream

导出数据:

Function OutMenu()
Dim rs As Recordset, I As Integer, ret
Set rs = CurrentDb.OpenRecordset("Select * from MsysCmdbars")
rs.MoveFirst
Dim obj As New ADODB.Stream
With obj
.Type = adTypeBinary
.Open
.Write rs.Fields(0)
.SaveToFile "N:\Ben.txt", adSaveCreateOverWrite
End With

Set obj = Nothing
Set rs = Nothing
End Function

导入菜单:
Function InMenu()
Dim rs As Recordset, I As Integer, ret
Set rs = CurrentDb.OpenRecordset("Select * from MsysCmdbars")
Dim obj As New ADODB.Stream
With obj
.Type = adTypeBinary
.Open
.LoadFromFile "N:\Ben.txt"
rs.AddNew
rs.Fields(0) = .Read
rs.Fields(1) = "SHIPMenu"
rs.Update
End With

Set obj = Nothing
Set rs = Nothing
End Function


用以上的方法就可以很容易保存自己精心设计的菜单为TXT 或其他文件, 使用时再导入就可以了

至于二进制数据结构就没进行深入研究,如哪位有更深入的研究心得,希望能给我发个MAIL


Access软件网交流QQ群(群号:198465573)
 
 相关文章
自定义菜单的另类导入导出  【雪山飞狸  2008/10/7】
代码导出导入自定义菜单示例  【andymark  2009/3/11】
VBA自定义菜单和菜单栏(一)  【江羽  2009/9/3】
access不编程生成菜单,自定义菜单如何调用自定义过程  【UMVSoft整理  2009/12/3】
[推荐]自定义菜单栏和工具栏的程序范例  【王樵民  2010/3/4】
自定义菜单栏和工具栏的程序范例(新修改)  【wqm099  2010/3/20】
【access小品】难者不会---自定义菜单  【todaynew  2010/4/12】
使用宏创建自定义菜单和快捷菜单  【宏鹏(转载)  2014/5/28】
常见问答
技术分类
相关资源
文章搜索
关于作者

赖观配

文章分类

文章存档

友情链接