2012-09-03 43 views
0

由於有些人誤解了我的意思:這不是關於儲蓄。問題是另一個;)通過VBA更改excel選項

我正在與Excel 2007和有問題。 在我的宏中,我必須確保一個選項設置正確。 選項如下: 辦公符號 - > excel-options - >保存 然後第一個下拉菜單/組合框經常設置爲「.xls」,但它必須是 「.xlsx」 是否有任何VBA解決這個問題的命令?解決方法可能是我編寫批處理文件來更改註冊表,但我不想使用外部代碼。

編輯: @hydev 好的問題是。我從另一個excel文件複製幾張紙並進行大量操作。最初的excel文件的格式是.xlsm,如果我打開一個新的工作簿,它會打開爲.xls(由於此配置),但不允許將工作表從.xlsm或.xlsx複製到.xls,因爲可能的列範圍而.xls的行要小得多。

而且我不能告訴Excel中,我希望它成爲的.xlsx

+0

這難道不是爲你工作? Dim oBook As Workbook = _oExcel.Workbooks.Open(「C:\ Users \ ThisUser \ Documents \ Data.xlsx」,False) – hydev

+0

我沒有Data.xlsx 0 0 –

+0

啊,所以更多的是打開這種格式的文件比保存它們。 –

回答

2

哇我用宏記錄器,它的工作。認爲它只適用於非全局的Excel設置。我自己的問題的解決方案是。

Application.DefaultSaveFormat = xlOpenXMLWorkbook 

設置保存格式爲原來的.xlsx

+0

你一直堅持這與儲蓄無關。但是如果你想要拯救,你只需要這個,這就是令人費解的。很高興你能成功解決這個問題 – datatoo

0

我能問語境?原因是您可以將SaveAs設置爲等於VBA中的xlsx。因此,您可以創建一個按鈕,使用戶能夠保存您的要求。

邁克

1

有一個Save As功能,你可以用它來選擇自己保存文件類型(它看起來像51你想要的)

然後你只需要重寫保存使用所需的文件格式調用SaveAs函數。

編輯:

這裏的人overriding the save event的樣品(第二回復)

+0

保存沒有問題;) –

+0

這是我也嘗試過的.'Workbooks.Add Template:= xlOpenXMLWorkbook'我用每個模板都做了這個。 –

0

你以後的編輯表示起始格式不XLS,而是XLSM,這意味着它是宏觀啓用。

Excel 2007及更高版本將強制使用宏的文件具有xlsm擴展名。你可能不會繞過它,堅持這一點。

如果您確實需要將其保存爲xls擴展名,則必須將該宏作爲保存過程的一部分刪除。

+0

這不是關於在我的文章中儲存=第一句 –