ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3654|回复: 30

[求助] ppt vba怎样实现excel vba中Application.SendKeys "{TAB}"的功能?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-1-14 23:07 | 显示全部楼层 |阅读模式
在excel vba中,可以实现Application.SendKeys "{TAB}",可是这样的代码在ppt vba中无效。请问ppt vba中该怎样编写呢?谢谢!

TA的精华主题

TA的得分主题

发表于 2020-1-15 17:00 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-1-15 18:05 | 显示全部楼层

谢谢,去掉后可以执行了。只是还有一个问题:访问工程时“查看时锁定工程”没有勾上。

Sub AddVBProjectProtection()
   On Error Resume Next
   'Set Obj = Application.VBE.ActiveVBProject    ' 检查是否勾选VBA工程访问权限
   If Err.Number <> 0 Then
      MsgBox "请勾选信任对VBA工程对象模型的访问"
   Exit Sub
   End If
   If Application.VBE.MainWindow.Visible Then
      Application.VBE.MainWindow.Visible = False
   End If
   Dim pw As Long
   pw = "123"
   Application.VBE.CommandBars(1).Controls("工具(T)").Controls("VBAProject 属性(&E)...").Execute
   SendKeys "^{TAB}"  '切换到密码页
   SendKeys "{107}"   '勾选查看工程密码
   SendKeys "{TAB}"   '换到输入密码
   SendKeys pw        '输入密码
   SendKeys "{TAB}"   '跳到下一个
   SendKeys pw        '输入密码
   SendKeys "{ENTER}" '确定
End Sub


TA的精华主题

TA的得分主题

 楼主| 发表于 2020-1-15 18:09 | 显示全部楼层
谢谢,去掉后可以运行了,只是 SendKeys "{107}"   '勾选查看工程密码    image.png 这儿不起作用,没有勾上。
Sub AddVBProjectProtection()
   On Error Resume Next
   'Set Obj = Application.VBE.ActiveVBProject    ' 检查是否勾选VBA工程访问权限
If Err.Number <> 0 Then
MsgBox "请勾选信任对VBA工程对象模型的访问"
Exit Sub
End If
If Application.VBE.MainWindow.Visible Then
Application.VBE.MainWindow.Visible = False
End If
   Dim pw As Long
   pw = "123"
   Application.VBE.CommandBars(1).Controls("工具(T)").Controls("VBAProject 属性(&E)...").Execute
  
   SendKeys "^{TAB}"  '切换到密码页
   SendKeys "{107}"   '勾选查看工程密码
   SendKeys "{TAB}"   '换到输入密码
   SendKeys pw        '输入密码
   SendKeys "{TAB}"   '跳到下一个
   SendKeys pw        '输入密码
   SendKeys "{ENTER}" '确定
End Sub

TA的精华主题

TA的得分主题

发表于 2020-1-15 19:00 | 显示全部楼层
本帖最后由 lss001 于 2020-1-15 19:54 编辑
shenjianrong163 发表于 2020-1-15 18:09
谢谢,去掉后可以运行了,只是 SendKeys "{107}"   '勾选查看工程密码   这儿不起作用,没有勾上。
Sub Ad ...
   Set ws = CreateObject("wscript.shell")
    ws.SendKeys "%LV%TE{tab 9}{end}{tab}V{tab 2}"

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-1-15 19:06 | 显示全部楼层
lss001 发表于 2020-1-15 19:00
Set ws = CreateObject("wscript.shell")
ws.SendKeys "{TAB}"

问题也一样,“查看时锁定工程”没有勾上。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-1-15 19:07 | 显示全部楼层
shenjianrong163 发表于 2020-1-15 19:06
问题也一样,“查看时锁定工程”没有勾上。

SendKeys "{107}"   '勾选查看工程密码  
在excel中能实现,在ppt中却不能。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-1-15 19:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

SendKeys "{107}"   '勾选查看工程密码  
在excel中能实现,在ppt中却不能。

TA的精华主题

TA的得分主题

发表于 2020-1-15 19:53 | 显示全部楼层
本帖最后由 lss001 于 2020-1-15 19:55 编辑
shenjianrong163 发表于 2020-1-15 19:08
SendKeys "{107}"   '勾选查看工程密码  
在excel中能实现,在ppt中却不能。

Sub hh()
    Dim pw As Long
    Set ws = CreateObject("wscript.shell")
    pw = "123"
    ws.SendKeys "%LV%TE{tab 9}{end}{tab}V{tab 2}"
    ws.SendKeys pw
    ws.SendKeys "{tab}"
    ws.SendKeys pw
    ws.SendKeys "{ENTER}"
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-1-15 22:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lss001 发表于 2020-1-15 19:53
Sub hh()
    Dim pw As Long
    Set ws = CreateObject("wscript.shell")

谢谢!运行后有小点问题。
00002.jpg
我更改了其中一点,可以运行了。只是运行完成后都要定位到工程模块,可以让它自动关闭工程模块吗?同时请解释下ws.SendKeys "%LV%TE{tab 9}{end}{tab}V"

下面这是我更改过的:
Sub hh()
    Dim pw As Long
    Set ws = CreateObject("wscript.shell")
    pw = "123"
    ws.SendKeys "%LV%TE{tab 9}{end}{tab}V"
    ws.SendKeys "{tab}"
    ws.SendKeys pw
    ws.SendKeys "{tab}"
    ws.SendKeys pw
    ws.SendKeys "{ENTER}"
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-23 18:36 , Processed in 0.046307 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表