我对脚本和批处理文件一无所知,但我已经开始阅读一些有关它的内容,以便能够启动并尝试编写一个代码,然后我想将其放入我的Windows任务计划中。
我想要做的是,打开一个指定的excel工作簿,运行一个名为HamtaData的宏,然后保存工作簿并关闭。
我今天拥有的是脚本(文件名STARTexcel)
dim args, objExcel
set args = wscript.arguments
set objExcel = CreateObject ("Excel.Application")
start Excel.exe "\\global.com\home\Se\58\dx\Desktop\Test\Deliveries.xlsm" 'This is the workbook i want to open.
objExcel.run "HamtaData" ' this is the macro i want to run.
objExcel.activeworkbook.Save
objExcel.activeworkbook.Close(0)
objExcel.Quit
我的批处理文件是,
cscript STARTexcel.vbs "\\global.com\home\Se\58\dx\Desktop\Test\Deliveries.xlsm"
我猜我错过了一些大片,但我的谷歌搜索在这方面并不聪明。
我认为我的批处理文件是我应该让我的Windows任务计划在未来的某个时间运行。
我也尝试过这一行代码,我在google上找到并编辑它以满足我的需求而没有成功。
'Code should be placed in a .vbs file
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'C:\Users\Ryan\Desktop\Sales.xlsm'SalesModule.SalesTotal"
objExcel.DisplayAlerts = False
objExcel.Application.Save
objExcel.Application.Quit
Set objExcel = Nothing
这里我得到错误,不能保存工作簿。有任何想法吗? 提前谢谢,
答案 0 :(得分:1)
确定。我会在评论中给你一个答案。
我制作了一个演示文件来测试它。 http://hoppvader.nu/Run.xlsm
基本上,它是在工作簿上打开的。询问用户是否要运行宏。
如果用户不在场(5秒钟无效),发送键将按Enter键,表示运行宏。
然后需要通过Windows任务计划来执行此文件,并且您需要通过禁用警告(错误的想法)或为此宏创建签名(更好)来确保不显示“启用内容警告”{ {3}}。
这样的“问题”是即使你点击“否”,wait()也会等待,所以每次打开它时,这个宏将花费你五秒钟的生命。
在上述文件中运行的代码:
Private Sub Workbook_Open()
UserForm1.Show 0
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 5
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
Application.SendKeys ("~")
End Sub
和
Private Sub CommandButton1_Click()
MsgBox "Run macro"
Unload Me
End Sub
Private Sub CommandButton2_Click()
MsgBox "Don't run macro"
Unload Me
End Sub