1. 程式人生 > >Java實現開啟Excel檔案,執行VBA指令碼並監測檔案狀態

Java實現開啟Excel檔案,執行VBA指令碼並監測檔案狀態

  

     /**
	 * @author DevinLiu
	 * 一鍵釋出報告
	 * 2018年9月19日下午2:44:19
	 */
	public class GenerateReport {
		
		public String report(){
			//檔名
			String FileName="E:\\demo\\SMS_20180320_1014.xlsm";
			try {
				File file=new File(FileName);
				if(file.exists()){
	                          //開啟檔案
				  Runtime.getRuntime().exec("cmd /c start "+FileName+"");
				}else{
	                          System.out.println("檔案不存在");
	                          return "";
				}
				Thread thread=new Thread();
				thread.sleep(2000);
				while(true){
					thread.sleep(2000);
					if(file.renameTo(file)){
	                                  //檔案未操作
					  break;
					}
				}
			} catch (IOException e) {
				e.printStackTrace();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			System.out.println("檔案操作結束");
			return "";
		}
	}

 excel注意兩點: 

  把點選控制元件事件(巨集)放入Workbook_Open() 下面,載入完畢自動觸發按鈕控制元件


Private Sub Workbook_Open()

  執行結束自動儲存關閉檔案

Workbooks(1).Save
Application.Quit