我完全在Excel中使用VBA。我的解決方案必須完全程序化,而不是用戶驅動。解決方案的要求是用戶啓動一個宏來獲取工作簿並將8張工作表保存到單獨的CSV文件中,保留公式並丟棄公式解決方案。我有一組表單(sht),我遍歷並保存它們。以下代碼完美地實現了這一點。使用Excel將工作表保存爲CSV公式完好
For i = LBound(sht) To UBound(sht)
If (SheetExists(csv(i))) Then
Sheets(sht(i)).SaveAs _
fullpath & csv(i) & ".csv", _
FileFormat:=xlCSV, _
CreateBackup:=False
End If
Next i
凡FULLPATH包含的文件保存位置的完整路徑,我寫了一個測試,看看是否該板在工作簿中存在一個布爾函數。
問題:
我需要的CSV文件中包含的Excel公式,沒有什麼公式計算爲。公式的結果可以被丟棄。 The Microsoft website說:
如果單元格顯示公式而不是公式值,公式將轉換爲文本。所有格式,圖形,對象和其他工作表內容都將丟失。歐元符號將被轉換爲問號。
這意味着SaveAs函數可能永遠不會做我想做的事情,但我需要一些方法來創建文件。理想情況下,我希望保持Excel能夠順利逃脫CSV單元格。這些CSV文件將被Java和SQL程序讀取,這些程序可以根據需要正確解析Excel函數。
你打算如何處理合並的單元格?如果公式包含換行符 - 它們是否應該在導出前被刪除?你需要處理數組公式嗎? – 2012-02-29 01:35:18
在運行SaveAs – 2012-02-29 01:42:28
@Tim Williams之前,您可以嘗試激活每個工作表並添加「ActiveWindow.DisplayFormulas = True」。非常聰明。比我的建議更好。 – brettdj 2012-02-29 11:44:49