題 禁用警告標誌


有沒有辦法阻止此警告標誌通過VBA方法在Microsoft Access 2007-2013中彈出?我試過(DoCmd.SetWarnings False)和(Application.DisplayAlerts = false)

顯然這兩種方法根本沒有用。 任何幫助將不勝感激。

Confirm


2
2017-09-16 02:41


起源


@horney_D_Clown - Ky TySon
@Homey_D_Clown_IT很抱歉,確定後端的邏輯是複製文件並使用objFSO.CopyFile方法將其粘貼到某處。但是為了做到這一點,我需要保留原始文件名,這將顯示上面顯示的鏈接我正試圖複製文件而不是替換它,這是相當惱人的。總而言之,我需要能夠執行VBA代碼的東西,並簡單地關閉這個警告。 - Ky TySon
我剛剛為你添加了一個答案來源等等。所以當你有機會時給它一個機會,這應該可以解決你的問題。 - Pimp Juice IT
@Homey_D_Clown_IT非常感謝你! :D問題解決了 - Ky TySon
任何時候,很高興幫忙!! - Pimp Juice IT


答案:


查看 CopyFile方法 並考慮使用 overwrite 傳遞給函數的參數告訴它如果文件存在,則覆蓋它並且不提示。

Visual Basic for Applications參考

CopyFile方法

句法

賓語。拷貝文件 來源,目的地[,覆蓋]

拷貝文件 方法語法包含以下部分:

  • 部分:  覆蓋 

    • 描述: 可選的。 布爾 指示是否要覆蓋現有文件的值。如果 真正,文件是   覆蓋;如果 , 他們不是。默認是 真正。注意   那 拷貝文件 如果destination具有隻讀屬性,則將失敗   設置,無論價值如何 覆蓋

備註

通配符只能在最後一個路徑組件中使用   來源論證。例如,您可以使用:

FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"

但你不能使用:

FileSystemObject.CopyFile "c:\mydocuments\*\R1???97.xls", "c:\tempfolder"

如果source包含通配符或目標以路徑結尾   separator(),假設destination是一個現有的文件夾   哪個複制匹配的文件。否則,假定目的地為   要創建的文件的名稱。在任何一種情況下,都會發生三件事   複製單個文件時

  • 如果目標不存在,則會復制源。這是通常的情況。
  • 如果destination是現有文件,則覆蓋時會發生錯誤 。否則,嘗試將源複製到現有文件上。
  • 如果destination是目錄,則會發生錯誤。

如果使用通配符的源不是,則也會發生錯誤   匹配任何文件。該 拷貝文件 方法在第一個錯誤就停止了   遭遇。不會嘗試回滾或撤消所做的任何更改   在發生錯誤之前。

資源


3
2017-09-16 03:17