Private Sub Workbook_Open()
Application.ScreenUpdating = False
Dim str As String
Dim WB
m = 3
For n = 2 To 5
str = ThisWorkbook.Path & "" & n & ".xls"
Set WB = Workbooks.Open(str, , True, , "123") '關(guān)鍵語句,打開帶密碼工作簿
Worksheets("sheet1").Cells(m, 1) = WB.Worksheets("sheet1").Cells.Find("姓名").Offset(1, 0) '因相應(yīng)工作簿中內(nèi)容格式不統(tǒng)一,采用查找的方式定位數(shù)據(jù)
Worksheets("sheet1").Cells(m, 2) = WB.Worksheets("sheet1").Cells.Find("年齡").Offset(1, 0)
Worksheets("sheet1").Cells(m, 3) = WB.Worksheets("sheet1").Cells.Find("性別").Offset(1, 0)
(好像源數(shù)據(jù)表只有一行數(shù)據(jù))
m = m + 1
WB.Close savechanges:=False
Set WB = Nothing
Next n
ThisWorkbook.Activate
Application.ScreenUpdating = True
MsgBox "數(shù)據(jù)更新完畢"
End Sub
Workbooks.Open 方法 |
名稱 | 必選/可選 | 數(shù)據(jù)類型 | 描述 |
CorruptLoad | 可選 | Variant | String 類型。要打開的工作簿的文件名。 |
UpdateLinks | 可選 | Variant | 指定更新文件中鏈接的方式。如果省略此參數(shù),則提示用戶指定鏈接的更新方式。有關(guān)此參數(shù)值的詳細(xì)信息,請參閱“備注”部分。如果 Microsoft Excel 正在打開 WKS、WK1 或 WK3 格式的文件并且 UpdateLinks 參數(shù)為 2,則 Microsoft Excel 根據(jù)與該文件關(guān)聯(lián)的圖形生成圖表。如果此參數(shù)為 0,則不創(chuàng)建任何圖表。 |
ReadOnly | 可選 | Variant | 如果為 True,則以只讀模式打開工作簿。 |
Format | 可選 | Variant | 如果 Microsoft Excel 正在打開文本文件,則由此參數(shù)指定分隔符。如果省略此參數(shù),則使用當(dāng)前的分隔符。有關(guān)此參數(shù)值的詳細(xì)信息,請參閱“備注”部分。 |
Password | 可選 | Variant | 一個字符串,包含打開受保護(hù)工作簿所需的密碼。如果省略此參數(shù)并且工作簿已設(shè)置密碼,則提示用戶輸入密碼。 |
WriteResPassword | 可選 | Variant | 一個字符串,包含寫入受保護(hù)工作簿所需的密碼。如果省略此參數(shù)并且工作簿已設(shè)置密碼,則提示用戶輸入密碼。 |
IgnoreReadOnlyRecommended | 可選 | Variant | 如果為 True,則不讓 Microsoft Excel 顯示只讀的建議消息(如果該工作簿以“建議只讀”選項保存)。 |
Origin | 可選 | Variant | 如果該文件為文本文件,則此參數(shù)用于指示該文件來源于何種操作系統(tǒng)(以便正確映射代碼頁和回車/換行符 (CR/LF))??蔀橐韵?XlPlatform 常量之一:xlMacintosh、xlWindows 或 xlMSDOS。如果省略此參數(shù),則使用當(dāng)前操作系統(tǒng)。 |
Delimiter | 可選 | Variant | 如果該文件為文本文件并且 Format 參數(shù)為 6,則此參數(shù)是一個字符串,指定用作分隔符的字符。例如,可使用 Chr(9) 代表制表符,使用“,”代表逗號,使用“;”代表分號,或者使用自定義字符。只使用字符串的第一個字符。 |
Editable | 可選 | Variant | 如果文件為 Microsoft Excel 4.0 加載宏,則此參數(shù)為 True 時可打開該加載宏以使其在窗口中可見。如果此參數(shù)為 False 或被省略,則以隱藏方式打開加載宏,并且無法設(shè)為可見。本選項不能應(yīng)用于由 Microsoft Excel 5.0 或更高版本的 Microsoft Excel 創(chuàng)建的加載宏。如果文件是 Excel 模板,則參數(shù)值為 True 時,會打開指定模板進(jìn)行編輯。參數(shù)值為 False 時,可根據(jù)指定模板打開新的工作簿。默認(rèn)值為 False。 |
Notify | 可選 | Variant | 當(dāng)文件不能以可讀寫模式打開時,如果此參數(shù)為 True,則可將該文件添加到文件通知列表。Microsoft Excel 將以只讀模式打開該文件并輪詢文件通知列表,并在文件可用時向用戶發(fā)出通知。如果此參數(shù)為 False 或被省略,則不請求任何通知,并且不能打開任何不可用的文件。 |
Converter | 可選 | Variant | 打開文件時試用的第一個文件轉(zhuǎn)換器的索引。首先試用的是指定的文件轉(zhuǎn)換器;如果該轉(zhuǎn)換器不能識別此文件,則試用所有其他轉(zhuǎn)換器。轉(zhuǎn)換器索引由 FileConverters 屬性返回的轉(zhuǎn)換器行號組成。 |
AddToMru | 可選 | Variant | 如果為 True,則將該工作簿添加到最近使用的文件列表中。默認(rèn)值為 False。 |
Local | 可選 | Variant | 如果為 True,則以 Microsoft Excel(包括控制面板設(shè)置)的語言保存文件。如果為 False(默認(rèn)值),則以 Visual Basic for Applications (VBA) (Visual Basic for Applications (VBA):Microsoft Visual Basic 的宏語言版本,用于編寫基于 Microsoft Windows 的應(yīng)用程序,內(nèi)置于多個 Microsoft 程序中。) 的語言保存文件,其中 Visual Basic for Applications (VBA) 通常為美國英語版本,除非從中運行 Workbooks.Open 的 VBA 項目是舊的已國際化的 XL5/95 VBA 項目。 |
CorruptLoad | 可選 | Variant | 可為以下常量之一:xlNormalLoad、xlRepairFile 和 xlExtractData。如果未指定任何值,則默認(rèn)行為通常為普通加載,但如果 Excel 已嘗試打開該文件,則可以是安全加載或數(shù)據(jù)恢復(fù)狀態(tài)。首先嘗試普通加載。如果 Excel 在打開文件時停止操作,則嘗試安全加載狀態(tài)。如果 Excel 再次停止操作,則嘗試數(shù)據(jù)恢復(fù)狀態(tài)。 |
值 | 含義 |
1 | 用戶指定鏈接更新方式 |
2 | 從不在該工作簿打開時更新鏈接 |
3 | 始終在該工作簿打開時更新鏈接 |
值 | 分隔符 |
1 | 標(biāo)簽 |
2 | 逗號 |
3 | 空格 |
4 | 分號 |
5 | 無 |
6 | 自定義字符(請參閱 Delimiter 參數(shù)) |