相关疑难解决方法(0)

从VB代码取消保护VBProject

如何从vb宏取消保护我的VB项目?我找到了这段代码:

    Sub UnprotectVBProject(ByRef WB As Workbook, ByVal Password As String)
  Dim VBProj As Object
  Set VBProj = WB.VBProject
  Application.ScreenUpdating = False
  'Ne peut procéder si le projet est non-protégé.
  If VBProj.Protection <> 1 Then Exit Sub
  Set Application.VBE.ActiveVBProject = VBProj
  'Utilisation de "SendKeys" Pour envoyer le mot de passe.

  SendKeys Password & "~"
  SendKeys "~"
  'MsgBox "Après Mot de passe"
  Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
  Application.Wait (Now + TimeValue("0:00:1"))

End Sub
Run Code Online (Sandbox Code Playgroud)

但是此解决方案不适用于Excel 2007.它在我的IDE中显示验证的窗口和打印密码.

然后,我的目标是取消保护我的VBproject而不显示此窗口.

谢谢你的帮助.

excel vba excel-2007 excel-vba

24
推荐指数
2
解决办法
6万
查看次数

winapi找到网页对话框的子窗口标题(属性)

我使用winapi来处理网页对话框,除了excel vba编辑器,我无法访问visual studio或其他工具.另外,我对winapi的经验不足.我想点击此网页对话框的某个按钮并输入一些文字.
使用winapi我可以找到它的句柄并尝试枚举子窗口,但收到的信息不正确.

' search for child window accept button
hWndAccept = FindWindowEx(hWndColo, 0, vbNullString, vbNullString)
Debug.Print hWndAccept
Run Code Online (Sandbox Code Playgroud)

Public Function EnumChildProc(ByVal hWnd As Long, ByVal lParam As Long) As Long
  Dim slength As Long
  Dim wintext As String                         ' window title text length and buffer
  Dim retval As Long                            ' return value
  Dim textlen As Long

Static winnum As Integer                      ' counter keeps track of how many windows have been enumerated
winnum = winnum + 1

textlen = …
Run Code Online (Sandbox Code Playgroud)

windows excel winapi vba

6
推荐指数
1
解决办法
1514
查看次数

VB.NET将Tab键发送到另一个应用程序窗口

我想将"{TAB}"密钥发送到另一个应用程序窗口(将密钥发送到窗口而不是文本框).

我试过了:

SendMessage(hWnd, WM_SETHOTKEY, VK_TAB, 0)
Run Code Online (Sandbox Code Playgroud)

没啥事儿.
我的目标是: 当应用程序窗口不在焦点时,
将tab键发送到我的应用程序其他应用程序. (我知道sendkey不专业,在这种情况下没有选择(这是我第一次使用它).)

我做了很多尝试,我总是回到同样的结果:

没啥事儿.

有人知道答案吗?

vb.net postmessage sendmessage windows-messages winforms

0
推荐指数
1
解决办法
2万
查看次数