返回顶部
位置:首页 > 文章资讯 > Win10教程>如何使用Win10任务计划程序来运行Office 365任务
如何使用Win10任务计划程序来运行Office 365任务

发布时间:2019-07-24

来源:Win10红石

  istock-975124168.jpg

我们很多人都有重复的任务,每天,每周,每月甚至每小时重复一次。打开文档并一遍又一遍地完成相同的任务是没有必要的。如果可以使用VBA过程自动执行任务,则可以从windows 10任务计划程序运行该过程。它会在后台发生,你甚至都不知道。因此,如果您发现重复性任务繁琐或经常忘记它们,请尝试windows 10任务计划程序。

 

此解决方案需要Microsoft Visual Basic Scripting Edition(VBScript),但本文提供了您需要的所有说明。一旦你看到这种脚本语言的多样性,你可以自己进一步探索它。此外,我们将使用Win10任务计划程序,但不要担心这个工具对您来说是新手,它很容易使用。本文假设您熟悉Excel和VBA。如果您在任何时候遇到麻烦,请阅读本文末尾的“疑难解答”部分。

 

我在Win10 64位系统上使用Office 365和Win10任务计划程序,但这应该适用于早期版本的Office和Windows。您可以使用可下载的演示Excel .xlsm,.xls,.bas和.vbs文件。此技术不适用于Excel的浏览器版本。请注意保存文件的位置 - 稍后您将需要该信息。

 

任务

图A显示了一个带有数据和数据透视表的简单Table对象。假设用户在一天中输入新记录,并且您希望每天早上8点通过电子邮件打印或发送更新的数据透视表的副本。除非用户知道刷新数据透视表,否则您可能无法获得最新信息。因此,每天早上8点,您打开文件,刷新数据透视表,然后打印或通过电子邮件发送。我们将坚持基础并打印它。

 

 

图A.

excelschedulingtasks-a.jpg

在Excel中创建工作VBA过程是第一步。 下一步是使用记事本编写一个简短的脚本,用于创建Excel的实例并运行宏。 最后,我们将创建一个基本任务,每天早上8点运行VBScript。

 

工作手册和程序

如果数据位于Table对象(演示文件.xlsm中),则可以在打开时轻松配置工作簿以更新数据透视表。 为此,请右键单击数据透视表中的任意位置,然后从结果子菜单中选择“数据透视表选项”。 在结果对话框中,单击“数据”选项卡。 然后,检查“数据透视表数据”部分中的“打开文件时刷新数据”选项(图B)。 你不需要为了这项技术而这样做,但你应该知道你可以。

 

图B.

excelschedulingtasks-b.jpg

现在,打开工作簿将刷新数据透视表,但您仍然需要打印它 - 这是宏进入的位置。按Alt + F11打开工作簿的Visual Basic编辑器(VBE)。 从“插入”菜单中,选择“模块”。 在结果模块中,输入清单A中所示的过程。不要尝试从此网页复制代码 -  VBE将无法正确解释它; 相反,您自己键入或导入可下载的.bas文件。

 

清单A.

Sub PrintUpdatedPivotTable()
'Update and then print PivotTable1.
Dim pt As PivotTable
Set pt = Sheets("PivotTable").PivotTables("PivotTable1")
'Select PivotTable1.
pt.TableRange1.Select
'Refresh all pivottables.
ThisWorkbook.RefreshAll
'Set landscape mode.
ActiveSheet.PageSetup.Orientation = xlLandscape
'Print PivotTable1.
ActiveWindow.SelectedSheets.PrintOut
End Sub

代码标识并选择要打印的数据透视表(PivotTable1是其默认名称,我没有更改它)。 刷新所有数据透视表对象后,该过程以横向模式打印选定的数据透视表(数据透视表1)。 使用PrintOut方法,您可以指定多个副本,依此类推。 要测试该过程,请单击其中的任意位置,然后按F5。

 

保存工作簿并关闭它。 如果您使用功能区版本,请确保将工作簿保存为启用宏的文件(.xlsm)。 请注意工作簿的位置和过程的名称,因为您需要在我们接下来要编写的脚本中使用它。 演示文件本地保存在Documents文件夹中。

 

剧本

VBScript以Visual Basic为模型,主要由管理员使用,但它很简单,我们大多数人都可以学习基础知识。 我们将使用记事本作为脚本编辑器。 打开记事本并输入清单B中所示的脚本。

 

清单B.

'Print PivotTable1 in Excel workbook, PivotTable1.xlsm.
Set objApp = CreateObject("Excel.Application")
Set objwb = objApp.Workbooks.Open("C:\Users\Susan Harkins\Documents\PivotTable1.xlsm")
objApp.Visible = False
objApp.Run "PrintUpdatedPivotTable"
objwb.Close False
objApp.Quit
Set objApp = Nothing
MsgBox "PivotTable printed successfully", vbInformation

这个简单的脚本创建一个Excel实例,使用我们要打印的数据透视表标识工作簿,然后打开该文件。将Visible属性设置为False时,您将看不到它。接下来,该脚本运行清单A中的宏,刷新数据透视表对象,然后打印PivotTable1。打印后,脚本关闭工作簿而不提示保存,关闭Excel实例,并将Excel对象设置为Nothing。

 

将文件另存为PrintPivotTable1.vbs  - 您必须在键入名称时自行添加.vbs扩展名。关闭文件,注意其位置。

 

任务计划程序

任务计划程序是一个Windows管理工具,已经存在了很长时间 - 它易于使用,而且非常灵活。我们只使用其一小部分功能。

 

从Windows“开始”菜单,展开“Windows管理工具”,然后选择“任务计划程序”。要添加任务,请执行以下操作:

 

--从“操作”菜单中,选择“创建基本任务”。

--为任务指定一个有意义的名称,例如PrintPivotTable1。

--添加简短描述(图C)。您可能想跳过这一步,但很容易忘记自动运行的任务,其他人也会受益。点击下一步。

--为此任务选择Daily,然后单击Next。

--在右侧的“开始”控件中输入8:00:00 AM。将Recur Every设置保留为1(默认值),如图D所示。单击Next。

--在“操作”部分中,保留默认选项“启动程序”。不要更改任何设置 - 只需单击“下一步”。

--我之前提到过你需要知道文件的位置。使用“浏览”按钮找到PrintPivotTable1.vbs。

--在Action中,启动程序控件进入C:\ Windows \ System32 \ wscript.exe。对于大多数用户而言,这应该是不同的 - 这标识了VBScript程序。当您了解有关该语言的更多信息时,您可能会看到cscript.exe; cscript.exe从控制台工作。如果找不到此.exe文件,请键入wscript到Cortana的位置。

--在Add arguments控件中,标识工作簿路径:“C:\ Users \ Susan Harkins \ Documents \ PrintPivotTable.vbs”,如图E所示。引号是必需的,您的路径将与我的路径不同,因此请相应更新。

--单击Next,然后单击Finish。

图C.

如何使用Win10任务计划程序来运行Office 365任务

图D.

excelschedulingtasks-d.jpg

图F.

如何使用Win10任务计划程序来运行Office 365任务

要测试脚本,请在任务列表中右键单击它,然后选择“运行”。

 

故障排除

有很多事情发生,所以错误很容易。 最可能的错误是拼写错误 - 未指定正确的.vbs,.xlsm和宏名称和位置。 幸运的是,VBScript将显示错误消息,因此查明实际语句很容易。 如果收到对象错误消息,请检查脚本中的变量名称。 如果您收到Windows无法找到文件或宏的错误,请检查名称和路径。 如果问题似乎是其中一个权限,则可能需要管理员的帮助。 我建议您在实验时在本地而不是在联网服务器上保存文件。

 

如果你选择一个奇怪的时间,例如,半夜打印并且没有发生任务,请检查任务的安全选项。 您可能希望仅在用户登录时更改默认运行设置为“运行”,无论用户是否已登录(图F)。

 

图F.

如何使用Win10任务计划程序来运行Office 365任务

虽然VBScript支持错误处理,但在这个简单的脚本中没有。 如果您使用可能意外脱机或有其他问题的网络打印机,您可能需要添加适当的错误处理。