Excel精英培训网

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

[已解决]如何屏蔽这个对话框呢?

[复制链接]
发表于 2015-8-6 11:31 | 显示全部楼层 |阅读模式
代码有存在一句
ThisWorkbook.FollowHyperlink file_path & file_name
可以打开file_path路径下对应的file_name文件
但打开时会有下图这个提示,那么如何不让系统显示这个提示呢?
【注:file_name文件已在信任中心中添加成可信任文件位置】
5.png
最佳答案
2015-8-6 14:14
  1. Shell "cmd.exe /C " & file_path, 0
复制代码
是会有个提示,系统自带的。
那你改成这样好了,用这个方式打开 。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-8-6 11:36 | 显示全部楼层
Sub 你的过程()
    Application.DisplayAlerts = False    '添加在过程开始处

    '
    '你的代码
    '

End Sub




回复

使用道具 举报

 楼主| 发表于 2015-8-6 12:22 | 显示全部楼层
爱疯 发表于 2015-8-6 11:36
Sub 你的过程()
    Application.DisplayAlerts = False    '添加在过程开始处

加过了,木有用哇,如果打开的是TXT文档,不会有这个提示,现在打开的是BAT文件,就有这个提示了
DisplayAlerts搞不定它{:091:}
回复

使用道具 举报

发表于 2015-8-6 13:05 | 显示全部楼层
这个看起来像是你EXCEL中某个加载宏(杀毒防毒的)的提示。
你找找,要屏蔽的话,得找到这个。
回复

使用道具 举报

 楼主| 发表于 2015-8-6 13:41 | 显示全部楼层
gufengaoyue 发表于 2015-8-6 13:05
这个看起来像是你EXCEL中某个加载宏(杀毒防毒的)的提示。
你找找,要屏蔽的话,得找到这个。

6.png
这个是我电脑上面目前用到的加载项,里面就一个OFFICE TAB和Excel Mailer这两个自己装的,别的好像都是系统自带的吧,没有发现有杀毒的加载项。
你们电脑里,用ThisWorkbook.FollowHyperlink file_path 打开一个BAT的文件时不会有这个提示么?
回复

使用道具 举报

发表于 2015-8-6 14:14 | 显示全部楼层    本楼为最佳答案   
  1. Shell "cmd.exe /C " & file_path, 0
复制代码
是会有个提示,系统自带的。
那你改成这样好了,用这个方式打开 。
回复

使用道具 举报

 楼主| 发表于 2015-8-6 14:51 | 显示全部楼层
gufengaoyue 发表于 2015-8-6 14:14
是会有个提示,系统自带的。
那你改成这样好了,用这个方式打开 。

呃,用了这句后,TXT文件能打开,BAT的文件提示倒是没有了,但是文件好像也没打开,是我修改的方式不对么?
附上全码
  1. Option Explicit
  2. Sub bat_txt_change()
  3. '---------------------------------------------------------------------------------------
  4. ' Procedure : bat_txt_change
  5. ' Author    : 王子良
  6. ' Date      : 2015-08-06
  7. ' Purpose   :修改BAT文件的后缀名,让其在TXT与BAT之间切换,并跟据表中用户的基本设置,选择是否在修改后缀后打开文件。
  8. '---------------------------------------------------------------------------------------
  9.         Dim bat_name As String, txt_name As String, file_path As String, Open_now As Boolean
  10.         file_path = "F:\mytest" '文件夹路径
  11.         bat_name = "BAT.bat" '文件名1
  12.         txt_name = "BAT.txt" '文件名2
  13.         Open_now = ThisWorkbook.Sheets("bat").[b2] '提取工作表中的用户基本设置
  14.                 If Len(Dir(file_path & bat_name)) <> 0 Then '如果bat文件存在,就把BAT文件转成TXT文件
  15.                         Name file_path & bat_name As file_path & txt_name '改后缀名
  16.                         If Open_now = "TRUE" Then Shell "cmd.exe /C " & file_path & txt_name, 0 '打开文件
  17. '                        If Open_now = "TRUE" Then ThisWorkbook.FollowHyperlink file_path & txt_name
  18.                 ElseIf Len(Dir(file_path & txt_name)) <> 0 Then '如果txt文件存在,就把txt文件转成bat文件
  19.                         Name file_path & txt_name As file_path & bat_name
  20.                         If Open_now = "TRUE" Then Shell "cmd.exe /C " & file_path & bat_name, 0
  21. '                        If Open_now = "TRUE" Then ThisWorkbook.FollowHyperlink file_path & bat_name
  22.                 Else
  23.                         MsgBox file_path & "路径下面:" & Chr(13) & "既没有" & bat_name & Chr(13) & "也没有" & txt_name, vbCritical '文件不存在提示
  24.                 End If
  25. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-8-6 15:07 | 显示全部楼层
本帖最后由 不信这样还重名 于 2015-8-6 15:08 编辑
gufengaoyue 发表于 2015-8-6 14:14
是会有个提示,系统自带的。
那你改成这样好了,用这个方式打开 。

呃,再次试了下
把代码中,shell后的Windowstyle参数稍作改动后可以了是这样改的
                       If Open_now = "TRUE" Then Shell "cmd.exe /C " & file_path & txt_name, 0 '打开文件
                       If Open_now = "TRUE" Then Debug.Print Shell("cmd.exe /C " & file_path & bat_name, 1)
但是如果把第一句打开TXT文件的那句中的Windowstyle也改成1,那么运行时会跳出TXT文件和BAT文件的两个任务框(其中BAT的窗口里是没有内容的)
这个是为啥呢?
回复

使用道具 举报

发表于 2015-8-6 15:19 | 显示全部楼层
不信这样还重名 发表于 2015-8-6 15:07
呃,再次试了下
把代码中,shell后的Windowstyle参数稍作改动后可以了,是这样改的
                   ...

shell 的第2个参数是窗口显示状态。
DOS窗口没有内容?这个跟bat中的命令有关系。
但一定是在运行的。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-4 01:33 , Processed in 0.425959 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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