国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Excel VBA(宏)精簡(二)
1) Excel文件
1.1
新建與打開 

.新建 Workbooks.Add
.打開
Workbooks.Open "
路徑 " & "文件名 .xls"
.文件打開對話框的使用
Application.GetOpenFilename(fileFilter:="Excel files(*.xls),*.xls,All files (*.*),*.*")
示例 :
flag = False Do While Not flag '
對話框打開已有 Excel文件 fm = Application.GetOpenFilename(fileFilter:=" Excel files(*.xls),*.xls, All files (*.*),*.*")
If fm False Then Workbooks.Open fm Set bb = ActiveWorkbook '
bb變量設為當前活動工作簿對象,打開一工作簿時,該工作簿自動為當前活動工作簿 flag = True End If Loop
1.2
保存與關閉 

.保存 Workbooks("文件.xls").Save
.另存對話框的使用
Application.GetSaveAsFilename(fileFilter:="Excel files (*.xls),*.xls,All files (*.*),*.*")
示例 :
flag = False Do While Not flag '
循環(huán)要求必須輸入文件名或選擇文件名 fm = Application.GetSaveAsFilename(fileFilter:=" Excel files (*.xls),*.xls,All files (*.*),*.*")
If fm False Then activeworkbook.SaveAs fm '
當前活動工作簿另存 flag = True End If Loop
.關閉
1.
單個文件關閉 Workbooks("filename.xls").Close 2.所有該 Excel程序打開的文件都關閉 Workbooks.Close
如果文件使用中改動過內(nèi)容 , 那么該命令使用時會彈出提示對話框 , 詢問是否保存 .
如果要想不彈出提示對話框,可以使用第三或第四種文件關閉方法 , 或者如下示例 .
示例 :
關閉工作簿" Book1.xls",但不提示用戶保存所作修訂." Book1.xls"中的所有修訂都不 會保存. Application.DisplayAlerts = False '信息警告關閉
Workbooks("BOOK1.XLS").Close
Application.DisplayAlerts = True '
信息警告開啟
.關閉同時保存
Workbooks("filename.xls").Close savechanges:=True
.關閉同時不保存
Workbooks("filename.xls").Close savechanges:=False
.Excel程序的關閉 Application.Quit
說明 :
使用本方法時,如果有未保存的工作簿處于打開狀態(tài), Microsoft Excel 將彈出一個對話 ,詢問是否要保存所作修改.
為防止這一情況出現(xiàn),可在使用 Quit 方法前保存所有的工作簿或?qū)?/span> DisplayAlerts 屬性設 置為 False.如果該屬性為 False, Microsoft Excel 退出時,即使存在未保存的工作簿 退出,也不會顯示對話框,而且不保存就退出.如果將一個工作簿的 Saved 屬性設置為 Tr ue,但是并沒有將其保存到磁盤上, Microsoft Excel 在退出時不會提示保存該工作簿.
.工作簿的密碼保護與撤銷 保護工作簿使其不至被修改. Workbooks("工作簿名 ").Protect (Password, Structure, Windows)
Password Variant
類型,可選.為一個字符串,該字符串為工作表或工作簿指定區(qū)分大小寫的密碼. 果省略本參數(shù),不用密碼就可以取消對該工作表或工作簿的保護.否則,必須指定密碼,通過密碼來取消 對該工作表或工作簿的保護.如果忘記了密碼,就無法取消對該工作表或工作簿的保護.最好在安全的地 方保存一份密碼及其對應文檔名的列表. Structure Variant 類型,可選.如果為 True,則保護工作簿結構(工作表的相對位置).默認值為 False.
Windows Variant
類型,可選.如果為 True,則保護工作簿窗口.如果省略本參數(shù),則窗口不受保護 :Workbooks("學生檔案").protect "1234"
Workbooks("
學生檔案").Unprotect (Password)
Password Variant
類型,可選.指定用于解除工作表或工作簿的保護的密碼,此密碼是區(qū)分大小寫的. 如果工作表或工作簿不設密碼保護則忽略本參數(shù).如果對工作表省略此參數(shù),而該工作表又設有密碼保護, Microsoft Excel 將提示您要輸入密碼.如果對工作簿省略此參數(shù),而該工作簿又設有密碼保護,本方法將 失敗.
1.3
示例
示例 :(使用了4個文件,宏程序文件操作了另外三個文件,還涉及到文件打開另存對話框)
. test.xls文件中編寫一個宏程序test,完成以下內(nèi)容.打開當前目錄下 test1.xls 文件,計算 sheet1工作表上單元格 a1a10的數(shù)據(jù)剩上 (0-1)的隨機數(shù),計算結果保存在一個新建工作簿的 sheet1 a1a10,且結果還要保存在一個任意打開的 Excel文件下,示例中打開 test2.xls文件, 完成后關閉Excel程序.
test.xls
模塊中 Sub test()
Dim i As Integer, flag As Boolean, fm
Dim aa, bb, cc, temp
Application.ScreenUpdating = False '
屏幕刷新關閉
Application.DisplayAlerts = False '
信息警告關閉

Workbooks.Open ThisWorkbook.Path & "test1.xls" '
打開文件 test1.xls
Set aa = ActiveWorkbook.Sheets("Sheet1")
flag = False
Do While Not flag '
對話框打開已有 Excel文件
fm = Application.GetOpenFilename(fileFilter:="Excel files (*.xls),*.xls, _ All files (*.*),*.*") If fm False Then
Workbooks.Open fm
Set bb = ActiveWorkbook
flag = True
End If
Loop

Workbooks.Add
Set cc = ActiveWorkbook
With cc.Sheets("Sheet1")
For i = 1 To 10
temp = aa.Cells(i, 1) * Int((10 * Rnd) + 1) '
生成 1 10 之間的隨機數(shù)值
.Cells(i, 1) = temp
bb.Sheets(1).Cells(i, 1) = temp
Next
End With

flag = False
Do While Not flag '
循環(huán)要求必須輸入文件名或選擇文件名
fm = Application.GetSaveAsFile name(fileFilter:="Excel files (*.xls),*.xl _ s,All files (*.*),*.*") If fm False Then
cc.SaveAs fm
flag = True
End If
Loop

bb.Save '
保存
Set aa = Nothing: Set bb = Nothing: Set cc = Nothing '
設置對象變量為空
Application.Quit '
關閉Excel
Application.ScreenUpdating = True '
屏幕刷新關閉
Application.DisplayAlerts = True '
信息警告開啟 

End Sub

2) 文本文件
2.1 打開與新建 Open 語句 能夠?qū)ξ募斎?/span>/輸出 (I/O). 語法 Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]
Open
語句的語法具有以下幾個部分: 部分 0 pathname 必要.字符串表達式,指定文件名,該文件名可能還包括目錄,文件夾及驅(qū)動器. mode 必要.關鍵字,指定文件方式, Append, Binary, Input, Output, Random  .如果未指定方式,則以 Random 訪問方式打開文件. access 可選.關鍵字,說明打開的文件可以進行的操作, Read,Write, Read Write  . lock 可選.關鍵字,說明限定于其它進程打開的文件的操作, Shared,Lock Read,Lock Write, Lock Read Write 操作. filenumber 必要.一個有效的文件號,范圍在 1 511 之間.使用 FreeFile 函數(shù)可得到下一個 可用的文件號. reclength 可選.小于或等于 32,767(字節(jié))的一個數(shù).對于用隨機訪問方式打開的文件,該值 就是記錄長度.對于順序文件,該值就是緩沖字符數(shù).
說明
對文件做任何 I/O 操作之前都必須先打開文件. Open 語句分配一個緩沖區(qū)供文件進行 I/O 之用,
并決定緩沖區(qū)所使用的訪問方式.
[
新建] 如果 pathname 指定的文件不存在,那么,在用 Append, Binary, Output, Random
式打開文件時,可以建立這一文件.
如果文件已由其它進程打開,而且不允許指定的訪問類型, Open 操作失敗,而且會有錯誤發(fā)生.
如果 mode Binary 方式, Len 子句會被忽略掉.
重要
Binary, Input Random 方式下可以用不同的文件號打開同一文件,而不必先將該文件關閉.
Append Output 方式下,如果要用不同的文件號打開同一文件,則必須在打開文件之前先關閉該 文件.
2.2
讀入與寫出
2.2.1
讀入
Input #filenumber, varlist
從已打開的順序文件中讀出數(shù)據(jù)并將數(shù)據(jù)指定給變量
Get [#]filenumber, [recnumber], varname
將一個已打開的磁盤文件讀入一個變量之中 2.2.2寫入 Write #filenumber, [outputlist]
將數(shù)據(jù)寫入順序文件,以雙引號"數(shù)據(jù)"逗號,分隔數(shù)據(jù)
Print #filenumber, [outputlist]
將格式化顯示的數(shù)據(jù)寫入順序文件中
Put [#]filenumber, [recnumber], varname
將一個變量的數(shù)據(jù)寫入磁盤文件中.
2.3
關閉
Close [filenumberlist]
關閉 Open 語句所打開的輸入/輸出 (I/O) 文件
注意 :
如果今后想用 Input # 語句讀出文件的數(shù)據(jù),就要用 Write # 語句而不用 Print # 語句將數(shù)據(jù)寫入文件. 因為在使用 Write # ,將數(shù)據(jù)域分界就可確保每個數(shù)據(jù)域的完整性,因此可用 Input # 再將數(shù)據(jù)讀出來. 使用 Write # 還能確保任何地區(qū)的數(shù)據(jù)都被正確讀出. Write Print # 語句不同,當要將數(shù)據(jù)寫入文件 ,Write # 語句會在項目和用來標記字符串的引號之間插入逗號.Write # 語句在將 outputlist 中的最后 一個字符寫入文件后會插入一個新行字符,即回車換行符,(Chr(13) + Chr(10))
2.4
其他文件函數(shù)
LOF(filenumber)
返回一個 Long,表示用 Open 語句打開的文件的大小,該大小以字節(jié)為 單位. EOF(filenumber) 返回一個 Integer,它包含 Boolean True,表明已經(jīng)到達為 Random 或順序 Input 打開的文件的結尾. Loc(filenumber) 返回一個 Long,在已打開的文件中指定當前讀/寫位置
Seek(filenumber)
返回一個 Long, Open 語句打開的文件中指定當前的讀/寫位置
2.5
示例
要求: 打開一文本文件 test1.txt, 已知其內(nèi)容為空格分隔 , 要求把其中每行首個數(shù)據(jù)寫入Excel 宏程序文件 的表1, 再把數(shù)據(jù)寫入新建文件 test2.ini
Sub test()
Dim Fm, i As Long, j As Long, k As Long
Dim TT, T1
On Error Resume Next

Fm = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If Fm = False Then Exit Sub '
取消選擇文件則退出 k = FreeFile
Open Fm For Input As #k '
以隨機只讀的方式打開文件

f2 = FreeFile
Open "c:test2.ini" For Output As #f2 '
以隨機方式新建一個不存在的文件

j = 1
W ithWo rksheets("sheet1")

Do While Not EOF(k) '
循環(huán)讀至文件最后一行 Line Input #k, TT ' 讀入一行數(shù)據(jù)并將其賦予某變量
T1 = Split(TT) '
以文本中空格來分開這個字符串并賦值給變量,請參考 split函數(shù)幫助 .Cells(j, 1) = T1(0)
Print #f2, T1(0)
j = j + 1
Loop
EndW ith

Close #k '
關閉文件
Close #f2 '
關閉文件
End Sub

 
3) Access文件
使用 VBA來訪問數(shù)據(jù)庫,其實就是通過一定方法借助數(shù)據(jù)庫引擎來訪問,關鍵是使用什么方法來使用引擎.目前訪問 ACCESS數(shù)據(jù)庫常用的有 DAO ADO方法,DAO就是 Database Access Object(數(shù)據(jù)庫 訪問對象 )的英文縮寫, DAO是老式的 , 它目前還在使用的原因是向下兼容和 ADO在一些地方還沒有取代 DAO的功能. ADO ActiveX Data Object(數(shù)據(jù)控件對象)的英文縮寫,是目前較新和功能較強的方法.
通過 DAOADO可以訪問多種類型的數(shù)據(jù)庫,包括 Access,SQL Server, Oracle,也可訪問應用程序的文件,Excel文件,文本文件及 Email NEWS的文件.實際上利用控件來鏈接數(shù)據(jù)庫,其概念 大致相同,首先都需創(chuàng)建鏈接,其后用 Open方法產(chǎn)生各種類型的數(shù)據(jù)集對象,再對數(shù)據(jù)集對象操作來使 用數(shù)據(jù)庫內(nèi)容.
3.1 DAO
使用的步驟及方法 (1). 引用 DAO類型庫
VBE"工具/引用"菜單中選擇可引用"Microsoft DAO 3.6 Object Library" .
設置DAO數(shù)據(jù)類型變量
(2).
定義 DAO對象變量
1) Dim db As Database, Database(
數(shù)據(jù)庫 )變量對應于 Access數(shù)據(jù)庫 .
2) Dim rs As RecordSet, RecordSet(
記錄集)變量對應于 Access數(shù)據(jù)庫的一個表或子表 . 多定義為全局變量,以供程序多處使用.
(3).
打開數(shù)據(jù)庫
Set db = OpenDatabase (Thisworkbooks.path & "
數(shù)據(jù)庫名0.mdb" ) ' DAO怎么樣打開有密碼的 ACCESS 數(shù)據(jù)庫 Set dbTemp = OpenDatabase("C:db.mdb", False, False, ";PWD=1234 5")
(4).
打開表或建立表的子表 A. 建立表的子表
Set rs = db.OpenRecordset("select * from
表名")
B.
打開表
Set RS = DB.OpenRecordset("
表名", dbOpenDynaset)
Opendatabase
方法是打開數(shù)據(jù)庫并返回此數(shù)據(jù)庫的 database對象,其語法如下:
Set database
的對象變量=opendatabase ([路徑及數(shù)據(jù)庫名0 ],[除外性],[只讀 ]) 除外性:true false值所構成,當值為 true時代表僅允許唯一的使用者使用數(shù)據(jù)庫. 只讀: true false值所構成, true代表數(shù)據(jù)庫僅提供讀取的服務
Openrecordset
方法用來創(chuàng)建一個新的 recordset對象,語法為:
Set recordset
對象變量=數(shù)據(jù)庫變量.openrecordset(來源,種類 ) recordset種類有5,分別為:(table),動態(tài)集(dynaset),快照集(snapshot),動態(tài)(dynamic), (forward-only),其中常用的時動態(tài)集(dynaset)實際上是引用一個或多個表中數(shù)據(jù)記錄的集合,是功 能最強的數(shù)據(jù)記錄集合類型,也是默認值.
(5).
操作數(shù)據(jù)庫記錄
對記錄的操作就是使用記錄集的對象方法和屬性來實現(xiàn),特附錄常用屬性和方法如下.
記錄集對象的屬性和方法:
rs.Recordcount
屬性 用來記錄目前數(shù)據(jù)記錄的數(shù)量,如判斷數(shù)據(jù)庫是否為空 rs.EOF 屬性 是否是記錄的尾 rs.BOF 屬性 是否是記錄的頭 rs.Nomatch 屬性 返回上次查找成功與否
rs.Move n
方法 移動到第 n 條記錄 rs.Movenext 方法 移動到下一條記錄 rs.MovePrevious 方法 移動到上一條記錄 rs.Movefirst 方法 移動到第一條記錄 rs.Lastfirst 方法 移動到最后一條記錄 rs.Delete 方法 刪除當前記錄 rs.Edit 方法 修改當前記錄 (步驟為三步: 1. edit方法設置為修改狀態(tài);2. 將數(shù)據(jù)分別賦到記錄的各字 ; 3.Updata方法, 把記錄更新到數(shù)據(jù)庫中) rs.AddNew 方法 添加記錄 (添加記錄分三步:1. AddNew方法添加一個新的空白記錄;2. 將數(shù)據(jù)分別賦到記錄的各字段;3. Updata方法,把記錄更新到數(shù)據(jù)庫中去) rs.Updata 方法 更新內(nèi)容到數(shù)據(jù)庫中 rs.Findfirst "字段名 = ' " & "查找內(nèi)容 " & " ' " 方法 查找記錄中字段與內(nèi)容相配的首條記錄 rs.Findnext 方法 查找下一個匹配記錄 rs.FindLast 方法 查找最后一個匹配記錄 rs.FindPrevious方法 查找前一個匹配記錄 rs.Close 方法 關閉 記錄集關閉鏈接
字段集的屬性方法:
rs. Fields.Count
屬性 字段數(shù)目 rs. Fields(n) n+1個字段 , Fields(0) 表示第一個字段 rs. Fields.Delete(Name As String) 方法 刪除字段 rs. Fields.Append (Object As Object) 方法 添加字段 rs. Fields.Refresh 方法 更新
字段的屬性方法 : rs. Fields(n).Name
rs. Fields(n).Size rs. Fields(n).Type rs. Fields(n).Fieldsize rs. Fields(n).value
示例: 打開一個數(shù)據(jù)庫,建立瀏覽, 查詢, 修改, 刪除, 添加等功能. Option Explicit
Public totalRecs As Long, curRecNo As Long '
用于記住 總記錄數(shù)  當前記錄號
Public DB1 As Database, RS1 As Recordset
Private Sub UserForm_Initialize() '
窗口顯示
Set DB1 = OpenDatabase(ThisWorkbook.Path & "pallet.mdb")
Set RS1 = DB1.OpenRecordset("pallet", dbOpenDynaset)
If RS1.EOF And RS1.BOF Then
MsgBox "Database is Null."
cmdExit_Click
Else
RS1.MoveLast '
指針移動到最后記錄,以便統(tǒng)計記錄總數(shù)
RS1.MoveFirst
totalRecs = RS1.RecordCount
curRecNo = 1
SetData '
設置窗口參數(shù),按鈕是否可用
End If End Sub
Private Sub cmdFirst_Click() '
第一條記錄 RS1.MoveFirst
curRecNo = 1
SetData End Sub
Private Sub cmdLast_Click() '
最后一條記錄 RS1.MoveLast
curRecNo = totalRecs
SetData End Sub
Private Sub cmdPrevious_Click() '
前一條記錄 RS1.MovePrevious
curRecNo = curRecNo - 1
SetData End Sub
Private Sub cmdNext_Click() '
下一條記錄 RS1.MoveNext
curRecNo = curRecNo + 1
SetData End Sub
Private Sub cmdAdd_Click() '
增加一條記錄 Dim i As Integer
RS1.AddNew
For i = 1 To 5
RS1.Fields(i) = Me.Controls("txt" & i)
Next i
RS1.Update
totalRecs = totalRecs + 1
curRecNo = totalRecs
RS1.MoveLast
SetData End Sub
Private Sub cmdDelete_Click() '
刪除當前記錄 RS1.Delete
RS1.MoveNext
If RS1.EOF = True Then
RS1.MovePrevious '
指針到底就朝前移
curRecNo = totalRecs - 1
End If
totalRecs = totalRecs - 1
SetData End Sub
Private Sub cmdModify_Click() '
修改當前記錄 Dim i As Integer
RS1.Edit
For i = 1 To 5
RS1.Fields(i) = Me.Controls("txt" & i)
Next i
RS1.Update End Sub
Private Sub cmdFind_Click() '
查找記錄,與第一個文本框內(nèi)容相等
RS1.FindFirst "palletno='" & txt1.Text & "'"
If RS1.NoMatch Then
MsgBox "Sorry, find Nothing!"
Else
curRecNo = RS1.AbsolutePosition + 1
SetData
End If End Sub
Private Sub cmdClear_Click() '
清除顯示內(nèi)容 Dim i As Integer
For i = 1 To 5
Me.Controls("txt" & i) = ""
Next i End Sub
Private Sub cmdExit_Click() '
退出窗口 RS1.Close
DB1.Close
Unload Me
End Sub
Sub SetData() '
窗口數(shù)據(jù)設置 Dim i As Integer
txtCurRecNo.Text = curRecNo
cmdFirst.Enabled = curRecNo > 1
cmdPrevious.Enabled = curRecNo > 1
cmdLast.Enabled = curRecNo < totalRecs
cmdNext.Enabled = curRecNo 1 CommandButton2.Enabled = curRecNo > 1 CommandButton3.Enabled = curRecNo < totalRecs CommandButton4.Enabled = curRecNo < totalRecs TextBox9 = curRecNo End Sub
(6).
數(shù)據(jù)庫使用 SQL查詢語言
數(shù)據(jù)庫一般都提供了關連式數(shù)據(jù)庫的查詢語言 SQL (Structured Query Language), 它是一種非??谡Z化,既易學又易懂的語法.此語言幾乎是每個數(shù)據(jù)庫系統(tǒng)都必須提供的,用以表示關連式的操作,包含了 資料的定義 (DDL)以及資料的處理 (DML).
對于 SQL語言的使用,請參考別的專業(yè)教程,本文就簡約介紹一下,示例中也僅用到一點SQL語言.
(6.1)
資料定義DDL (Data Definition Language)
資料定義語言是指對資料的格式和形態(tài)下定義的語言,他是每個數(shù)據(jù)庫要建立時候時首先要面對的, 舉凡資料分哪些表格關系,表格內(nèi)的有什么字段元主鍵,表格和表格之間互相參考的關系等等,都是在開 始的時候所必須規(guī)劃好的. 如建表格:Create Table table_name (column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY], column2 DATATYPE [NOT NULL],...)
(6.2)
資料操作 DML(Data Manipulation Language)
資料定義好之后接下來的就是資料的操作.資料的操作不外乎增加資料( insert), 查詢資料( query), 更改資料( update) ,刪除資料( delete)四種模式,以下分別介紹他們的語法: 增加資料: INSERT INTO table_name (column1,column2,...) VALUES ( value1,value2, ...) 查詢資料: SELECT * FROM table_name WHERE conditions 更改資料:UPDATE table_name SET column1=''xxx'' WHERE conditoins 刪除資料: DELETE FROM table_name WHERE conditions


4) 文件其它操作
4.1) 判斷文件存在
使用 Dir 函數(shù)判斷, 格式: Dir [(pathname [, attributes] ) ] Dir 會返回匹配 pathname 的第一個文件名.示例如下 . strfile = Dir(ThisWorkbook.Path & "filename.xls") '檢查文件是否存在 If strfile "" Then '存在就打開 Workbooks.Open ThisWorkbook.Path & "filename.xls" Else '文件不存在就警告 MsgBox "文件不存在 ", vbOKOnly, "警告" End If
4.2)
搜查文件
使用 Application.FileSearch方法 示例如下 : pp = "D:Temp": ff = 0 With Application.FileSearch .NewSearch .LookIn = pp .Filename = "prn*.tmp" '查找文件 prn*.tmp *為指代符
If .Execute() > 0 Then ff = .FoundFiles.Count
End With
MsgBox pp & "
找到 " & ff & " 個檔案 !"
4.3)
刪除文件 使用 kill 方法 示例如下 : kill("c:mytest.txt")
4.4)
取得文件日期屬性
使用 FileSystem object對象實現(xiàn) , 示例函數(shù)如下
Function FileDate(filespec, datetype)
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(filespec) Select Case datetype Case 1: FileDate = f.DateCreated '
檔案建立日期 Case 2: FileDate = f.DateLastAccessed ' 存取日期 Case 3: FileDate = f.DateLastModified '修改日期 End Select End Function
4.5) FileSystemObject
文件系統(tǒng)對象的使用
FileSystemObject (FSO,
下面簡0 FSO) 對象模型,具有大量的屬性,方法和事件,使用面向?qū)ο?/span>
" object.method"語法,來處理文件夾和文件,可以在Office 2000 以后版本使用. FileSystemObject  不是 VBA 的一部分,它是以一個 COM 組件的形式提供,可以在VB, VBA, VBScript 中使用.
FSO
對象模型可以創(chuàng)建,改變,移動和刪除文件夾,或探測特定的文件夾是否存在,若存在,還可以
找出有關文件夾的信息,如名0,被創(chuàng)建或最后一次修改的日期,等等. FSO 對象模型還使文件處理變得 很容易.可以創(chuàng)建文件,插入和改變數(shù)據(jù),以及輸出(讀取)數(shù)據(jù). FSO 對象模型,支持通過 TextStream 對象來創(chuàng)建和操作文本文件,但不支持二進制文件的創(chuàng)建或操作,這可以用 VBA語句完成.
使用 FileSystemObject 對象模型進行文件操作的步驟是: 1. 使用 CreateObject 方法來創(chuàng)建 FileSystemObject 對象;
2.
在新創(chuàng)建的對象上使用適當?shù)姆椒?/span>;
3.
訪問對象的屬性.
下面代碼顯示如何創(chuàng)建 FileSystemObject 實例: Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
在這個示例中, Scripting 是類型庫的名字, FileSystemObject 則是想要創(chuàng)建的對象的名字.
使用 FSO 處理文件夾的任務和方法 創(chuàng)建文件夾 FileSystemObject.CreateFolder 刪除文件夾 Folder.Delete FileSystemObject.DeleteFolder 移動文件夾 Folder.Move FileSystemObject.MoveFolder 復制文件夾 Folder.Copy FileSystemObject.CopyFolder 檢索文件夾 Folder.Name 如果文件夾在驅(qū)動器上存在,則找出它 FileSystemObject.FolderExists 獲得現(xiàn)有Folder 對象的實例 FileSystemObject.GetFolder 找出文件夾的父文件夾名 FileSystemObject.GetParentFolderName 找出系統(tǒng)文件夾的路徑 FileSystemObject.GetSpecialFolder
FSO
中寫數(shù)據(jù)到文本文件的方法
向打開的文本文件寫數(shù)據(jù),不用后續(xù)一個新行字符 Write
向打開的文本文件寫數(shù)據(jù),后續(xù)一個新行字符 WriteLine
向打開的文本文件寫一個或多個空白行 WriteBlankLines
FSO
中讀取文本文件的方法
從文件讀取指定數(shù)量的字符 Read
讀取一整行(一直到但不包括新行字符) ReadLine
讀取文本文件的整個內(nèi)容 ReadAll
FSO
中移動,復制和刪除文件的方法 移動文件 File.Move FileSystemObject.MoveFile 復制文件 File.Copy FileSystemObject.CopyFile 刪除文件 File.Delete FileSystemObject.DeleteFile
使用 FSO 處理文件,文件夾比使用 VBA 語句的方法具有更易操作的特點, FSO 除了不能處理二進制文 ,其文件和文件夾處理的方法也更完備,更直觀和易于使用.

(未完待續(xù)...)

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VBA編程問答(第3輯)
vbacopysheet
VBA文件及文件夾操作
自學資料(Excel VBA)[收集整理10]
在VBA中怎樣判斷文件夾是否存在?
Excel VBA編程的常用代碼
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服