VBA中CopyFile 方法的功能及應用

蝶戀花雨發表於2012-01-04

描述

把一個或多個檔案從一個地方複製到另一個地方。

語法

object.CopyFile source, destination[, overwrite]

CopyFile 方法語法有如下幾部分:

部分 描述
object 必需的。object始終是一個 FileSystemObject的名字。
source 必需的。指明一個或多個要被複制檔案的字串檔案說明,它可以包括萬用字元。
destination 必需的。指明 source 中的一個或多個檔案要被複制到的接受端的字串,不允許有萬用字元。
overwrite 選項的。Boolean 值,它表示存在的檔案是否被覆蓋。如果是 True,檔案將被覆蓋;如果是False,它們不被覆蓋。預設值是 True。注意如果 destination具有隻讀屬性設定,不論 overwrite 值如何,CopyFile都將失敗。

說明

萬用字元只能用在 source 引數的最後一個路徑部件。例如,你可以在下面請況使用萬用字元:

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

但下面情況不能使用:

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

如果 source 包含萬用字元或 destination以路徑分隔符(\)為結尾,則認為 destination 是一個已存在資料夾,在其中複製相匹配的檔案。否則認為 destination 是一個要建立檔案的名字。不論是那種情況,當複製一個檔案時,可能發生三種事件。

  • 如果 destination 不存在,source得到複製。這是通常的情況。

  • 如果 destination 是一個已存在的檔案,則當 overwrite 值為 False 時發生一個錯誤,否則,source的複製檔案將試圖覆蓋已存在檔案。

  • 如果 destination 是一個目錄,發生一個錯誤。

如果使用萬用字元的 source 不能和任何檔案匹配,同樣產生一個錯誤。CopyFile方法停止在它遇到的第一個錯誤上。不要試圖回捲或撤消錯誤發生前所做的任何改變。


2:Vba中Pastespecial和paste的區別

Pastespecial 是選擇性貼上,像手動的選擇性貼上一樣有很多的選項

paste  是常規的貼上,其實也是pastespecial 的XLpastespecialall

一個單元格有許多的屬性,如果我們只想複製其中的一種屬性,則要用到選擇性貼上

    Selection.PasteSpecial Paste:=xlPasteFormulas
 '對複製的內容選擇性貼上為公式
     Selection.PasteSpecial Paste:=xlPasteFormats
  '對複製的內容選擇性貼上相應的格式

    Selection.PasteSpecial Paste:=xlPasteComments

 '對複製的內容選擇性貼上批註

Selection.PasteSpecial Paste:=xlPasteValues

'對複製的內容選擇性貼上數值

 

Selection.PasteSpecial Paste:=xlPasteAll

等效於

selection.paste


相關文章