在Access中APPLICATION对象有两个未公开的方法,其中一个是SaveAsText, 另一个是LoadFromText.我记得是刚学ACCESS不久,当时在研究FMS一个分析工具时,跟踪发现它总会产生一些临时文件,对这些临时文件分析,发现它与VB里的窗体文件差不多的格式,所以估计微软可以将ACCESS的窗体转换为文本格式,并提供一种逆相转换的方法。所以发现了深厚的兴趣,后来就找到这两个方法。 ??? 虽然微软还有其它一些比较好用的未公开的属性,但我在这两个方法上花的时间还是最多的,因为它的确有使用价值,所以说说自己多年来的使用心得。 ??? 这两个方法在以后的ACCESS版本中并不一定支持,所以我并不建议大家使用,但因为有些功能如果使用它来实现,可以节省比较多的时间,所以,在某些情况下,我还是会使用它,至少现有的ACCESS版本都支持这个方法。如果同样的功能你可以通过ACCESS正常的方法来实现,我则建议你使用微软公开的方法。切记!
??? 用途1:
???? 使用 ?????? application.saveastext acForm,"我的窗体","c:\test.txt" ???? 将整个窗体导出到一个文本文件,将其打包发送给朋友,让朋友再使用??????? ?????? application.loadfromtext acForm,"我的窗体","c:\test.txt" ???? 再导回去。你可以压缩打包传送。
??? 用途2: ???? 可以将窗体保存到文本文件,然后把文本文件存储到OLE字段里,这样整个窗体的界面与代码都可保存到ACCESS数据表里,这个方法对编写 代码库管理器 非常有用。在使用时,还可即时将文本文件还原到一个窗体,让使用者即时预览到这个技巧产生的效果
??? 用途3: ????? 将窗体保存到一个文件文件,使用正则表达式对代码进行分析,可以分析语法,代码结构、语法错误、字数统计等等,你可参考一下FMS的一个ACCESS分析工具,它有的功能,你花个半年,做出来应该也没有大问题啦。记得让我试用一下源码哦:)[page] ???? ??? 用途4: ????? 真正的全局替换,一般我们需要全局替换窗体里一个属性的名称或内容,需要逐个逐个修改,而无法实现像代码中的全局替换,现在将窗体导出到文本文件,在文本文件里进行全局替换,完成后再导回窗体。 ??? 用途5: ????? 繁简转换,中英转换,一般对控件标题、提示文字、默认值等进行文字上繁简转换后并不能真正实现繁简转换,在转换后相应的环境中打开还会出现ACTIVEX控件找不到或者OLE错误,将窗体或其它对象转换为文本文件后再进行繁简转换,然后再转换相应的字符集、字体名称、节的繁简对应名称、CRC校验码等之后,再导回ACCESS相应对象,就可完成整个ACCESS程序的转换,相应的程序效果可参见我做的繁简转换通用程序,记住简体一般是134 繁体是136 英文你打开就知了。我奉劝,如果你想做同样的功能,那你最好就别做了,用我的就得了,免得断我财路,我提成20%给你就得了,等两年后积到100元我再一次汇给你:) ??? 用途6: ????? 中英转换,虽然还需要进行少量手工转换,但已经节省了不少时间,但如何使用正式表达式来正确区别哪些是标题、提示文字、消息框还需要一些技巧。 ??? 用途7: ????? 改变控件的默认属性???????? ?????? 除了我们在设计状态修改控件的默认属性之外,使用修改文本文件的内容也可达到修改控件默认属性的效果,当窗体或报表导出到文本文件之后,所有的窗体、控件属件以及默认控件属性都在文本文件中体现出来,通过修改这个文本文件里有关默认属性的设置即可达到目的。 ??[page]??? 什么是默认属性?举个例子,你从国外下载一个程序,为什么往窗体里面添加控件,控件字体总是Serif,而在简体中文环境下新建的窗体控件,字体都是“宋体”,在繁体中文环境下新建的窗体控件,字体都是“新细明体”,就是因为这个控件的默认属性导致的 ??? 用途8: ?????? 实现自动创建窗体模板的 |