如何删除提示以将信息保存到剪贴板?

我有一个VBA脚本,允许我select一个文件,然后从该文件复制一个范围,并将其粘贴到目标工作表中。 但是,每次我这样做,打开源文件,然后closures哪些提示我,如果我想保存在剪贴板上的信息。

我不知道如果不打开源代码excel就复制数据会更好。

Option Explicit Sub DCDatabaseCopy() Dim vFile As Variant Dim wbCopyTo As Workbook Dim wsCopyTo As Worksheet Dim wbCopyFrom As Workbook Dim wsCopyFrom As Worksheet Dim DCRowCount As Integer Set wbCopyTo = ActiveWorkbook Set wsCopyTo = ActiveSheet '------------------------------------------------------------- 'Open file with data to be copied vFile = Application.GetOpenFilename("Excel Files (*.*)," & "*.*", 1, "Select Excel File", "Open", False) 'If Cancel then Exit If TypeName(vFile) = "Boolean" Then Exit Sub Else Set wbCopyFrom = Workbooks.Open(vFile) Set wsCopyFrom = wbCopyFrom.Worksheets(1) End If '-------------------------------------------------------------- 'Copy Range DCRowCount = wsCopyFrom.Range("A1", wsCopyFrom.Range("A1").End(xlDown)).Rows.Count wsCopyFrom.Range("A1:G" & DCRowCount).Copy wsCopyTo.Range("A2").PasteSpecial Paste:=xlPasteValues, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'Close file that was opened wbCopyFrom.Close SaveChanges:=False End Sub 

在closures工作簿之前,请运行:

 wbCopyFrom.Application.CutCopyMode = False 

这将清除剪贴板。

使用这两行代码之前和之后,它将绕过剪贴板提示

 Application.DiplayAlerts = FALSE Application.DiplayAlerts = TRUE 

或者可能是你需要使用这个:

 ActiveWindow.Close savechanges:=FALSE 

很显然,如果文件不在ActiveWindow中,那么用代码将这部分代码replace掉