| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		Cedric
 
 
  註冊時間: 2003-08-02 文章: 19
 
  第 1 樓
  | 
		
			
				 發表於: 星期一 一月 08, 2018 9:32 am    文章主題: 開啟檔案時出現Excel不認識此檔的檔案格式 | 
				     | 
			 
			
				
  | 
			 
			
				請問, 在vfp8 開啟excel, 程式如下
 
 
		lctmpsheet = Createobject("excel.application")
 
		lXLApp = lctmpsheet.Application
 
		loExcel = lXLApp.Workbooks.Open(lcFile)
 
		loSheet = loExcel.ActiveSheet
 
 
執行到 "loExcel = lXLApp.Workbooks.Open(lcFile)" 
 
時卻出現 "開啟檔案時出現Excel不認識此檔的檔案格式" 的訊息.
 
要開啟的excel 附檔名為"xlsx". 
 
已有在預設程式設定為 microsoft office excel.
 
目前安裝的office版本是 OFFICE 2010
 
 
但如果直接從檔案總管, 是可以開啟的.
 
 
請教是否有解決方式? 謝謝.
 
 
有測試過如果另存為 .xls 則不會出現訊息. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 2 樓
  | 
		
			
				 發表於: 星期一 一月 08, 2018 12:00 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				應該是vfp8的問題,
 
vfp9就不會有問題了,
 
 
Visual FoxPro8.0是微軟公司2002年開發的。
 
xlsx  是 Excel 2007 才出土的
 
 
張飛不能打岳飛 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		Cedric
 
 
  註冊時間: 2003-08-02 文章: 19
 
  第 3 樓
  | 
		
			
				 發表於: 星期一 一月 08, 2018 12:19 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				[quote="ckp6250"]應該是vfp8的問題,
 
vfp9就不會有問題了,
 
 
Visual FoxPro8.0是微軟公司2002年開發的。
 
xlsx  是 Excel 2007 才出土的
 
 
 
 
那請問是否有其他解決方法?
 
OFFICE 的版本也有差嗎? | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 4 樓
  | 
		
			
				 發表於: 星期一 一月 08, 2018 3:19 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我用 VFP6 開發的專案,也照開 XLSX 呀.
 
 
樓主以前有安裝過不同版本的 OFFICE 嗎?
 
這個檔案確實是 2010年版的 XLSX, 不是更新的EXCEL所建立的XLSX 嗎? _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 5 樓
  | 
		
			
				 發表於: 星期一 一月 08, 2018 4:28 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				有可能電腦安裝了多種版本的excel
 
將
 
lctmpsheet = Createobject("excel.application") 
 
改成
 
lctmpsheet = Createobject("excel.application.版本的代號")
 
版本的代號你用regedit 查 excel.application  是那種版本 _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		Cedric
 
 
  註冊時間: 2003-08-02 文章: 19
 
  第 6 樓
  | 
		
			
				 發表於: 星期一 一月 15, 2018 12:08 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | garfield 寫到: | 	 		  有可能電腦安裝了多種版本的excel
 
   將
 
   lctmpsheet = Createobject("excel.application") 
 
   改成
 
   lctmpsheet = Createobject("excel.application.版本的代號")
 
   版本的代號你用regedit 查 excel.application  是那種版本 | 	  
 
 
要開啟的 XLSX 是安裝前的文件
 
在電腦裡安裝了2010 跟2003, 我想應該是安裝版本的問題, 因為原本2套系統可以共存, 後來重新安裝了 2010  64位元的大量授權版 才導致檔案開不起來.
 
 
就算程式加了版本判斷
 
lctmpsheet = Createobject("excel.application.14")
 
仍然會出現訊息.
 
 
只能先把2003 移除後就可以了.
 
需要office 2003 的轉檔DBF功能, 可能要再尋找其他解決方式了.
 
 
謝謝回覆. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 7 樓
  | 
		 | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |