是在一些輸入之后,我至今無法自己弄清楚......
如果我希望將位置(即 C:\Users\SB\Documents\CSV Uploads)存盤在另一個作業表(查找資料)中,在單元格“C13”(定義名稱:FOLDERLOCATION)中使用,而不是在代碼中使用它,這可以做到嗎?
雖然下面可以將作業表匯出到我指定的檔案夾的 CSV 檔案,但檔案最終比我預期的要大得多。該檔案最終超過9mb!奇怪的是,如果我打開,然后再次保存檔案并關閉,它會下降到 38kb 左右。有什么想法我在這里做錯了嗎?
提前致謝,期待各位專家的意見!
Sub EXPORTCSV()
Dim Path As String
Dim filename As String
Sheets("UPLOAD").Visible = True
Sheets("UPLOAD").Copy
ActiveWorkbook.SaveAs ("C:\Users\SB\Documents\CSV Uploads\UPLOAD - IB " & Format(Now(), "YYYYMMDD - hh_mm_ss AMPM") & ".csv") _
, FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close
End Sub
uj5u.com熱心網友回復:
關于您的第 1 點,是的,您可以使用單元格來存盤根路徑。為了清楚起見,我重寫了您的一些代碼,但是如果您想保留已有的結構,只需替換ActiveWorkbook.SaveAs ("C:\Users\SB\Documents\CSV Uploads\UPLOAD - IB " & Format(Now(), "YYYYMMDD - hh_mm_ss AMPM") & ".csv"), FileFormat:=xlCSV, CreateBackup:=False
和
ActiveWorkbook.SaveAs (ActiveWorkbook.Sheets("UPLOAD").Range("C13").Value & Format(Now(), "YYYYMMDD - hh_mm_ss AMPM") & ".csv"), FileFormat:=xlCSV, CreateBackup:=False
其他一些注意事項:
- 使用
ThisWorkbook而不是ActiveWorkbook更安全,因為它將始終參考 VBA 代碼所在的作業簿,而不是當時恰好處于活動狀態的任何作業簿。 - 請注意該
Workbook.Close方法,特別是因為沒有確認關閉。您很容易丟失您的作業,而且由于 CSV 檔案不保存 VBA 代碼,情況會更糟。
Private Sub EXPORTCSV_MOD()
' Parameters of the file path
Dim Path As String, Filename As String, Extension As String
Path = ThisWorkbook.Sheets("UPLOAD").Range("C13").Value
Filename = Format(Now(), "YYYYMMDD - hh_mm_ss AMPM")
Extension = ".csv"
' Assemble the full file path
Dim FullPath As String
FullPath = Path & Application.PathSeparator & Filename & Extension
' Save and close the workbook
ThisWorkbook.SaveAs Filename:=FullPath, FileFormat:=xlCSV, CreateBackup:=False
ThisWorkbook.Close
End Sub
uj5u.com熱心網友回復:
謝謝@TehDrunkSailor,使用您的邏輯稍作調整,這解決了我的代碼,您的傳奇!我使用 Active 而不是這是因為我將復制的作業表保存到新作業簿中,而不是我一直在使用的作業簿。
Sub EXPORTCSV()
Dim Path As String
Dim filename As String
'The UPLOAD sheet was very hidden
Sheets("UPLOAD").Visible = True
'Copy to a new workbook
Sheets("UPLOAD").Copy
'Save the new workbook using data stored in the original workbook
ActiveWorkbook.SaveAs (ThisWorkbook.Sheets("LOOKUP DATA").Range("C13").Value & "UPLOAD - IB " _
& Format(Now(), "YYYYMMDD - hh_mm_ss AMPM") & ".csv"), FileFormat:=xlCSV, CreateBackup:=False
'Close the new workbook
ActiveWorkbook.Close
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/407958.html
標籤:
上一篇:在線訪問Outlook電子郵件
下一篇:矢量會導致虛假共享嗎
