Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3590|回复: 6

[已解决]sendkey的问题很奇怪。

[复制链接]
发表于 2013-5-5 11:28 | 显示全部楼层 |阅读模式
请教,打开另存为对话框,并自动填写文件名。结果文件名给我自动填了一部分,比如px,比如xcelpx。不能全部显示。

Private Sub 显示打开对话框并指定初始文件名()
   Application.SendKeys "Excelpx", True
   Application.Dialogs(xlDialogSaveAs).Show
End Sub



最佳答案
2013-5-5 13:39
  1. Application.SendKeys "(^s)(%n){DELETE}(excelpx)", True
复制代码
纯粹靠运气了,无可控性,不如自己调用保存对话框了。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-5-5 13:07 | 显示全部楼层
回复

使用道具 举报

发表于 2013-5-5 13:09 | 显示全部楼层
要指定文件名,可以用对话框的形式,这种方法还是不建议使用。

你的代码顺序应该反了,先显示对话框,再输入文件名,有时还得先把光标定位到文件名编辑框中才行。
回复

使用道具 举报

发表于 2013-5-5 13:12 | 显示全部楼层
另外对话框SHOW后,如果没有点击按钮,你下面的SENDKEYS是不会运行的。
回复

使用道具 举报

发表于 2013-5-5 13:26 | 显示全部楼层
我用NOTEPAD测试,也有掉字母的现象。
在记事本中输入文本是不掉的。
但保存文件的时候,用SENDKEYS总是要掉。
回复

使用道具 举报

发表于 2013-5-5 13:31 | 显示全部楼层
  1.     Dim l As Long
  2.     l = Shell("notepad.exe", vbNormalFocus)
  3.     AppActivate l
  4.     Application.SendKeys "excelpx.com", True
  5.     Application.SendKeys "(^s) (%n)  (excelpx){ENTER}", True
复制代码
加了几个空格,终于输入完整了。
回复

使用道具 举报

发表于 2013-5-5 13:39 | 显示全部楼层    本楼为最佳答案   
  1. Application.SendKeys "(^s)(%n){DELETE}(excelpx)", True
复制代码
纯粹靠运气了,无可控性,不如自己调用保存对话框了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 15:36 , Processed in 1.241524 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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