我看了這個話題,發現一些幫助,但建議似乎沒有工作。抑制「另存爲」提示
- 我打開一個CSV文件到EXCEL中進行一些更改,然後想要將結果保存回相同的文件名和CSV格式。
- 我想在沒有提示的情況下執行此操作,以確保我要保存該文件。
- 我們正在使用啓用宏的excel文件導入數據進行更改並保存。
- 整個過程由一個批處理文件啓動,該文件將在常規時間段打開Excel應用程序和指定文件,這就是爲什麼我們不希望提示停止進程。
這裏是我用VBA做的工作,以及其他的潛艇,我發現了想幫我取消提示的代碼。
此代碼位於文件的TheWorkbook
中,而不是模塊。
我錯過了什麼嗎?
代碼
Sub fixfile()
Const strFileName = "W:\Webshare\Documents Acquired in 2017\Jim Excel\snr-room-schedule.csv"
Dim wbkS As Workbook
Dim wshS As Worksheet
Dim wshT As Worksheet
Set wshT = Worksheets.Add(After:=Worksheets(Worksheets.Count))
Set wbkS = Workbooks.Open(Filename:=strFileName)
Set wshS = wbkS.Worksheets(1)
wshS.UsedRange.Copy Destination:=wshT.Range("A1")
wbkS.Close SaveChanges:=False
'This is the area of work that we doing to the data
'Through here
Application.DisplayAlerts = False 'IT WORKS TO DISABLE ALERT PROMPT
ActiveWorkbook.SaveAs Filename:= _
"W:\Webshare\Documents Acquired in 2017\Jim Excel\snr-room-schedule.csv", FileFormat _
:=xlCSVMSDOS, CreateBackup:=False
Application.DisplayAlerts = True 'RESETS DISPLAY ALERTS
Application.Quit
End Sub
Private Sub Workbook_Open()
fixfile
End Sub
Sub CloseandSave()
ActiveWorkbook.Close SaveChanges:=True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub
使用'Application.DisplayAlerts = FALSE'前後.Save和'Application.DisplayAlerts = TRUE'。 –
VBA皮特 - >我其實在代碼中有這兩個語句。 False語句是第10行代碼,True語句是第12行代碼。圍繞SaveAs語句。 我試着圍繞Subroutines的CloseandSave和BeforeClose這兩個(一次一個)保存,但是這添加了關於該文件已存在的提示。我真的不希望任何提示發生在所有。我知道我正在寫現有的文件,所以沒關係。這是一個問題,因爲我試圖保存爲CSV格式。它需要是那種格式。感謝您的幫助。 – user1968084
您的結束小組缺少promt(不確定是否使用它)。另外,將'FileFormat:= xlCSVMSDOS'更改爲'FileFormat:= xlCSV'。 –