2014-02-12 121 views
0

我試圖創建打開兩個工作簿的批處理文件,保存後關閉它們一分鐘左右,使用此命令行終止Excel工作簿:強制保存和使用命令行(Windows操作系統)

START "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" "C:\path\to\myWorkbook1.xls" 

START "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" "C:\path\to\myWorkbook2.xls" 

打開兩個工作簿的想法是,myWorkbook2.xlsmyWorkbook1.xls上有一些引用的單元格,應打開兩個工作簿,以便引用的單元格將被更新。

問題: 我搜索了互聯網,無法找到一種方法來保存&關閉兩個工作簿。我才發現是使用終止打開EXCEL.EXE實例:

taskkill /F /IM EXCEL.EXE 

這是一種對我不好,因爲它會關閉所有工作簿的時候了,而不需要保存。

有沒有辦法做到這一點?或者寫一個cscript代碼是唯一的出路?

非常感謝。

回答

0

一些頭腦風暴:

  • 殺死Excel進程確實不起作用。
  • 在命令行上沒有選項可讓Excel保存工作簿。
  • 您可以運行一個實用程序,將正確的按鍵發送到Excel,但這是一個非常脆弱的解決方案,至多...
  • 您可以打開DDE對話;這確實允許您保存Excel文件。但是,我不知道DDE是否是2014年的正確方法,我甚至不知道從批處理文件內控制是多麼容易......
  • 您確實可以使用自動化,可以使用wscript/CSCRIPT。 Powershell也可以訪問自動化界面IIRC,但我沒有經驗。
  • 您可以在workbook2中編寫一個宏,它可以處理所有這些(但是如果沒有它自動關閉,您將很難打開workbook2)。
  • 也許一個Excel插件可以工作,它可以讓你進入Excel的後門,但這只是過於複雜。

所以,是的,使用CSCRIPT;)

+0

我仍然在尋找替代品,但我研究的越多,我越來越對推動更多的使用CSCRIPT的。 – ChiSen