vbs脚本保护视图

时间:2016-07-25 12:40:42

标签: excel vbscript

我有一组在受保护的视图中打开的excel文件。我想打开这些excel文件,删除受保护的视图,然后将它们保存为制表符分隔的文本文件。到目前为止,我已经能够做所有事情,但是当我运行脚本时,会出现一个提示,询问用户是否要保存excel文件。我想摆脱这个提示,使脚本完全自动化。这是当前的代码:

format = -4158

Set objFSO = CreateObject("Scripting.FileSystemObject")

src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0))
dest_file = objFSO.GetAbsolutePathName(WScript.Arguments.Item(1))

Dim oExcel
Set oExcel = CreateObject("Excel.Application")

oExcel.ProtectedViewWindows.Open(src_file)
oExcel.ActiveProtectedViewWindow.Edit
oExcel.Quit

Dim oBook
Set oBook = oExcel.Workbooks.Open(src_file)
oBook.Worksheets(5).Activate

oBook.SaveAs dest_file, format

oBook.Close False

oExcel.Quit

我找到了在线删除提示的解决方案,但由于我必须编辑受保护的视图窗口,我找不到使用这些解决方案的方法。如何使这个VB脚本删除受保护的视图,并将excel文件保存为制表符分隔的文本文件?它应该这样做而不显示任何窗口或提示,即它应该是自动的。

1 个答案:

答案 0 :(得分:0)

要简单地让Excel忽略消息框,通常就是这样:

oExcel.DisplayAlerts = False
'your code here to close workbook
oExcel.DisplayAlerts = True