Office中国论坛/Access中国论坛
标题:
[源码]关闭所有窗体的自动纠正功能
[打印本页]
作者:
tmtony
时间:
2012-12-13 08:52
标题:
[源码]关闭所有窗体的自动纠正功能
'试过以下方法均不行,经测试,access没有一个方法设置这个关闭功能
'只能关闭 选项里的 其它 自动更正功能,但对输入替换没有效果
'(1)
'Application.SetOption "Perform Name AutoCorrect", True ' False
'Application.SetOption "Log Name AutoCorrect Changes", True ' False
'Application.SetOption "Track Name AutoCorrect Info", True ' False
'Application.SetOption "Database Explorer Click Behavior", 0
'(2)
'SetOption "执行名称自动更正", 0
'(3)
'名称自动纠正在 option里
'而这个设置在 "工具" --- 自动更正选项 我找到代码来打开它,但无法自动设置
'docmd.RunCommand acCmdAutoCorrect 可打开之,但无法设置里面的值
'(4) 只有以下方法是真正有效的
'----------------------------------
'使用方法,将这个函数 复制到任何一个或新的模块中
'保存整个MDB,然后按alt+F11进入代码状态
'再按ctr+G 进入调试窗体,在调试窗体中 输入 tonySetAutoCorrectFalse
'按回车执行即可
'tmtony 修改于 2012/08/20
Public Sub tonySetAutoCorrectFalse()
'要先确保你的系统中有引用DAO
'作用,设置所有窗体中的所有文本框及组合框控件
'自动关闭自动纠正功能
'
'例如:
'1.在文本框输入hda 自动会变成 had 这是自动纠正 将其改为 英文单词had了
'2.在组合框 如果下拉列表中有 b.l.c.等这样的内容,在组合框 输入b字, 整个内容都会跳出来,而不是渐进式匹配
Dim MyDb As DAO.Database
Dim frm As Document
Dim ctr As Control
Dim strFormName As String
Set MyDb = CurrentDb()
For Each frm In MyDb.Containers("Forms").Documents
strFormName = frm.Name
DoCmd.OpenForm strFormName, acDesign
For Each ctr In Forms(strFormName).Controls
Select Case ctr.ControlType
Case acTextBox, acComboBox
If ctr.AllowAutoCorrect = True Then
ctr.AllowAutoCorrect = False
End If
End Select
Next ctr
DoCmd.Close acForm, strFormName, acSaveYes
Next frm
End Sub
复制代码
作者:
xuwenning
时间:
2012-12-13 09:41
收下
谢谢分享
作者:
mini520
时间:
2012-12-13 13:42
感谢楼主的 分享啊!!哈哈!
作者:
yanwei82123300
时间:
2012-12-13 16:27
感谢楼主的 分享啊!!哈哈!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3