从Excel

时间:2016-02-06 19:37:13

标签: vba excel-vba access-vba excel

使用在excel 2010中运行的vb代码我需要在Access 2010数据库中输入vb密码,但Sendkeys在Excel VB窗口而不是Access窗口中运行。以下代码按预期工作并打开access vbe窗口但Sendkeys无法打开密码输入框。手动单击菜单栏上的工具/属性将按预期打开密码框。所有帮助表示赞赏。

Sub Test()
    Dim app As Object
    Dim wnd As Object
    Set app = CreateObject("Access.Application")
    app.OpenCurrentDatabase "C:\Test Database.accdb"
    app.Visible = True
    For Each wnd In app.VBE.Windows
        If wnd.Caption Like "Project*" Then
            wnd.SetFocus
            Exit For
        End If
    Next
    SendKeys ("%Te"), True
    SendKeys (Pword), True
    SendKeys "~", True
    app.Quit acQuitSaveNone
    Set app = Nothing
End Sub

这是今天日常操作中代码的摘录,用于演示问题 - 如果是错误的方法,请告知应该如何完成。当我得到代码显然工作时,我将提供一个输入框供用户输入密码,但为了演示问题,我提供了上述代码。 我理解任何关于这样做的安全方面的担忧,但我无法提供更多细节,为什么我需要检查受密码保护的vb代码 - 我只能说今天系统工作但是很乱 - 代码挂在vbe上窗口,密码是手动输入的,用户切换回excel窗口,其中一个消息框启用简历 - 我试图使一个工作系统更加用户友好,但我有限的经验是excel vb无法访问。我已经做了很多尝试来解决这个问题,但都是徒劳的。

0 个答案:

没有答案