2010-01-26 79 views
4

我有一個奇怪的情況,我有一組excel文件,所有的擴展名爲.xls。,在一個目錄中我可以打開所有這些文件在Excel 2007中罰款。奇怪的是,我不能在同一臺機器上的Excel 2003中打開它們,而無需在2007年首先打開文件,並將該文件保存爲「Excel 97-2003工作簿」。在將文件保存爲Excel 2007中的「Excel 97-2003工作簿」之前,當我在2003年打開Excel文件時,出現文件不是以可識別的格式顯示的錯誤。打開excel 2007 excel文件並保存爲VBA中的97-2003格式

所以我的問題是:如果我已經有在2007年打開的Excel文件,我已經有打開的文件存儲在一個變量的文件名,編程方式我怎樣才能模仿動作去「辦公室按鈕「在右上角並選擇」另存爲「,然後選擇」Excel 97-2003 Workbook「?我試過類似下面的東西,但它根本不保存文件:

ActiveWorkbook.SaveAs TempFilePath & TempFileName & ".xls", FileFormat:=56 

感謝您的任何幫助或指導!

+0

我完全有同樣的問題。一個my_file_with_macro.xlsm文件生成一些* .xls文件與2003 excel兼容,這些文件無法由仍在Office 2003下運行的同事打開。自從您在此處詢問此問題後,您是否得到過任何解決方案? – 2012-04-26 09:16:55

+0

其實,我剛剛找到了一個解決方案(我並不是很清楚,但是......無論如何,它都適合我)。 Application.DisplayAlerts =假 設置resultFile = Workbooks.Open(resultFileName) resultFile.CheckCompatibility =假 resultFile.SaveAs文件名:= resultFileName,的FileFormat:= xlExcel8 resultFile.Close Application.DisplayAlerts =真 – 2012-04-26 09:35:36

回答

0

我不清楚你是否只是想轉換所有這些文件,或者如果你正在開發一個需要這樣做的應用程序。

如果是前者,看看這是有幫助的:http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en

它可以讓你在早期版本的Office中打開Office 2007。

+0

別問我爲什麼但兼容包不起作用。我正在嘗試創建一個應用程序來轉換文件。 – ABB 2010-01-26 22:25:08

7

這聽起來像你應該嘗試兼容包,但我看不出爲什麼你的vba不工作。我試了下面,它工作完美:

ThisWorkbook.SaveAs "C:\test" & ".xls", FileFormat:=56 
+0

我已經安裝了兼容包,但它仍然無法正常工作。不知道爲什麼。如果我取出FileFormat:= 56,它可以很好地保存,但是當我添加它時根本不會保存。有任何想法嗎? – ABB 2010-01-26 22:26:43

+0

如果您嘗試在另一個文件名下「另存爲」,會發生什麼情況? – Jay 2010-01-26 22:35:01

+0

我剛剛嘗試過,並沒有奏效。我仔細檢查了代碼,確定它已經達到了這一行代碼,並且確實如此,我不確定它是否與我的機器上的當前設置有關。我很茫然。 – ABB 2010-01-26 22:42:14

1

這是一個爲我工作的解決方案。基本上,它再次打開相同的文件,並使用Excel 97-2003的兼容性模擬Office按鈕中的「另存爲」。但是,它確實隱藏了所有警報,並指定Excel不檢查兼容性,這會生成一個彈出窗口,從而阻止您在批處理模式下進行靜音工作。

'before that, my code was using Workbooks.Add method, saving and then closing. 
'just add the following after your last operation, once your file is closed where 
'of course "resultFile" is the workbook to be saved, and resultFileName the path 

Application.DisplayAlerts = False 
Set resultFile = Workbooks.Open(resultFileName) 
resultFile.CheckCompatibility = False 
resultFile.SaveAs Filename:=resultFileName, FileFormat:=xlExcel8 
resultFile.Close 
Application.DisplayAlerts = True 
0

剛剛關閉警報也起作用。 Application.DisplayAlerts =假 Workbooks.Add.SaveAs名的FileFormat:= 56 *做修改,如果必要的話 Activeworkbook.close的SaveChanges文件:=真 Application.DisplayAlerts =真

0
'this script is created by me. But usable to vbscript (vbs). 
UTILIZAR EL ARCHIVO INICIAL.XLSX COMO COMODÍN PARA CREAR UN ARCHIVO DATOS.XLS. 

'Creado por Juan Fernando Arango Trujillo 
Set app = CreateObject("Excel.Application") 
app.Visible = False 
app.DisplayAlerts = False 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set wb = app.Workbooks.Open("C:\Users\Juan\Documents\Inicial.xlsx") 
wb.SaveAs "C:\Users\Juan\Documents\Datos.xls", -4143 
wb.Close True 
app.Quit 
Set app = Nothing 
Set fso = Nothing 

「FIN DEL PROCESO DECREACIÓNDE DATOS.XLS

+0

如果你能翻譯apish並添加一些解釋,那就太好了。 – CAFEBABE 2016-01-06 14:02:01

相關問題