标签: excel.application

"新"Excel.Application与Excel.Application

我正在寻求澄清"新"对对象和脚本的影响.

我的理解是,如果我需要对excel文档执行操作并且应用程序已关闭,那么我应该使用New Excel.Application.

如果我保持此应用程序处于活动状态(例如通过诸如工作簿之类的对象)以及稍后在脚本中我决定打开另一个工作簿,我是否仍应使用New Excel.Application或者使用Excel.Application会更好吗?

我担心的是,我将编写一个长脚本,它将对至少5个工作簿执行操作.我将不得不从一个工作簿切换到另一个工作簿然后再回到前者...

如果每次脚本创建一个新的Excel.Application,我可能最终会运行很多,我担心这个混乱会产生问题.

写一些类似的东西更合适:

Dim NxlApp as New Excel.Application
Dim xlApp as Excel.Application

  NxlApp.Workbooks.Open "C:\Users\...\WorkbookA.xlsx"
  NxlApp.Visible = True

'Perform actions on WorkbookA (keep it open)


  Set ExcelApp = GetObject("", "Excel.Application.14")
  xlApp.Workbooks.Open "C:\Users\...\WorkbookB.xlsx"
  xlApp.Visible = True

'Perform actions on WorkbookB (keep it open)


'Go back to WorkbookA (using the xlApp variable this time)

  xlApp.Workbook("A.xlsx")...
Run Code Online (Sandbox Code Playgroud)

excel vba instance excel-vba excel.application

6
推荐指数
2
解决办法
3万
查看次数

vbscript通过Task Scheduler在Windows 10中打开excel文件

我有一个脚本文件,我通过任务计划程序执行,在Windows 7中工作正常,并在Windows 10中不起作用.

这是代码片段:

Dim myxlApplication, myWorkBook

Set myxlApplication = CreateObject("Excel.Application")
myxlApplication.Visible = False
Set myWorkBook = myxlApplication.Workbooks.Open( emlAttach )
myxlApplication.DisplayAlerts = False
myWorkBook.Application.Run "Main.Main" 
myxlApplication.DisplayAlerts = True
myxlApplication.Quit
Set myxlApplication = Nothing
Run Code Online (Sandbox Code Playgroud)

emlAttach 在脚本中先前设置为具有扩展名的绝对路径和文件名.

通过单击脚本文件执行此操作时,它可以正常工作.当它作为计划任务运行,或强制从任务计划程序运行时,它会询问我打算使用哪个程序来打开文件.如果我选择Excel,它会给我一个错误,告诉我该文件不存在.

该错误的文件扩展名是错误的,xlsx而不是变量限定的内容xlsb.

vbscript scheduled-tasks windows-10 excel.application

2
推荐指数
1
解决办法
5078
查看次数

vbscript崩溃时如何关闭应用程序

我正在使用VBscript打开Microsoft Excel并将xls文档转换为csv。
这是一个简单的示例,该示例接受一个参数并转换第一页

Dim oExcel
Dim oBook
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))

oBook.SaveAs "out.csv", 6

oBook.Close False
oExcel.Quit
Run Code Online (Sandbox Code Playgroud)

如果一切正常,那就太好了。但是当脚本在无法关闭excel之前崩溃时,该过程将继续存在并锁定文件,直到我手动终止该过程为止。

即使脚本失败,如何确保我执行任何清理例程?

vbscript excel.application

1
推荐指数
1
解决办法
2933
查看次数