  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 1 樓
  | 
		
			
				 發表於: 星期四 十月 27, 2011 11:26 pm    文章主題: 如何讓 Excel 2007 在最上層? | 
				     | 
			 
			
				
  | 
			 
			
				 	  | 代碼: | 	 		  
 
eole=Createobject('Excel.application') 
 
With eole
 
   .Workbooks.Open("123.xls",.F.) 
 
   .WindowState=-4137
 
   .Visible = .T.   
 
Endwith
 
 | 	  
 
上面的程式碼,在 winXP + Excel 2003底下時,
 
Excel會在最上層,等結束後,程式才會繼續往下執行
 
 
但,在 Win7 + Excel 2007 底下時,它卻縮到工作列上,然後就接著往下執行了
 
 
不知道這是 Win7 或是 Excel 2007 的問題?
 
 
有何方法,能夠讓它保持在上層,等結束後,再執行下方的程式,類以 form1.windowType = 1 的情形呢 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		ursala99
 
 
  註冊時間: 2007-06-20 文章: 3
 
  第 2 樓
  | 
		
			
				 發表於: 星期二 十一月 15, 2011 4:23 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | 代碼: | 	 		  
 
DECLARE INTEGER FindWindow IN Win32api STRING,STRING
 
DECLARE SetForegroundWindow IN Win32api INTEGER
 
 
LOCAL Excelobj
 
Excelobj=CREATEOBJECT('Excel.Application')
 
IF FindWindow(NULL, Excelobj.Caption) <> 0
 
   SetForegroundWindow(FindWindow(NULL, Excelobj.Caption))
 
ENDIF
 
CLEAR DLLS
 
 | 	  
 
 
這可以讓EXCEL在最上層
 
 
能不能等EXCEL關閉再執行後面的程式,可能要TRY看看了 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |