µ±Ç°Î»ÖãºÊ×Ò³ > Excel VBA²Ù×÷Îļþ´óÈ«
a.Close
Debug.Print retstring '¿É¿´µ½¶ÁÈ¡Á˵ÚÒ»ÐеÄ×Ö·û End Sub ¡¤ReadLine ·½·¨
Óï·¨£ºobject.ReadLine
¹¦ÄÜ£º´ÓÒ»¸ö TextStream Îļþ¶ÁȡһÕûÐУ¨µ½»»Ðзûµ«²»°üÀ¨»»Ðзû£©²¢·µ»ØµÃµ½µÄ×Ö·û´®¡£ ʾÀý£º
Sub du_line()
Dim fso, a, retstring Const ForReading = 1
Set fso = CreateObject(\
Set a = fso.OpenTextFile(\
Do While a.AtEndOfStream <> True 'ÊÇ·ñÔÚ TextStream Îļþĩβ retstring = a.ReadLine '¶ÁȡһÐÐ
Debug.Print retstring 'ÏÔʾÔÚÁ¢¼´´°¿Ú Loop a.Close End Sub ¡¤ReadAll ·½·¨
Óï·¨£ºobject.ReadAll
¹¦ÄÜ£º¶ÁÈ¡Õû¸öµÄ TextStream Îļþ²¢·µ»ØµÃµ½µÄ×Ö·û´®¡£ ˵Ã÷£º¶ÔÓÚ´óµÄÎļþ£¬Ê¹ÓÃReadAll·½·¨ÀË·ÑÄÚ´æ×ÊÔ´¡£Ó¦Ê¹ÓÃÆäËüµÄ¼¼ÊõÈ¥ÊäÈëÒ»¸öÎļþ£¬±ÈÈç°´ÐжÁÈ¡Îļþ¡£ ʾÀý£º Sub du_all()
Dim fso, a, retstring Const ForReading = 1
Set fso = CreateObject(\
Set a = fso.OpenTextFile(\retstring = a.Readall 'È«²¿¶ÁÈ¡ Debug.Print retstring a.Close End Sub
»¹ÓÐÁ½¸ö¸¨Öú¶ÁÈ¡µÄ·½·¨£º ¡¤Skip ·½·¨
Óï·¨£ºobject.Skip(characters)
¹¦ÄÜ£ºµ±¶ÁÒ»¸ö TextStream ÎļþÊ±Ìø¹ýÖ¸¶¨ÊýÁ¿µÄ×Ö·û¡£ ʾÀý£º
Sub duskip()
Dim fso, a, retstring Const ForReading = 1
Set fso = CreateObject(\
Set a = fso.OpenTextFile(\
Do While a.AtEndOfLine <> True 'ÊÇ·ñµ½ÐÐÄ© retstring = retstring & a.Read(1) '¶Áȡһ¸ö×Ö·û a.Skip (1) 'Ìø¹ýÒ»¸ö×Ö·û Loop a.Close
Debug.Print retstring '¿É¿´µ½¶ÁÈ¡Á˵ÚÒ»ÐÐµÄÆæÊýλµÄ×Ö·û End Sub ¡¤SkipLine ·½·¨
Óï·¨£ºobject.SkipLine
¹¦ÄÜ£ºµ±¶ÁÒ»¸ö TextStream ÎļþÊ±Ìø¹ýÏÂÒ»ÐС£
3¡¢Ð´ÈëÊý¾Ýµ½Îļþ
дÈëÊý¾Ýµ½ÎļþÒ²ÓÐÈýÖÖ·½·¨¡£ ¡¤Write ·½·¨
Óï·¨£ºobject.Write(string)
¹¦ÄÜ£ºÐ´Ò»¸öÖ¸¶¨µÄ×Ö·û´®µ½Ò»¸ö TextStream Îļþ¡£ ʾÀý£º Sub xie()
Const ForWriting = 2, ForAppending = 8 Dim fs, f
Set fs = CreateObject(\
Set f = fs.OpenTextFile(\ f.Write \дÈë×Ö·û´® f.Close End Sub ¡¤WriteLine ·½·¨
Óï·¨£ºobject.WriteLine([string])
¹¦ÄÜ£ºÐ´ÈëÒ»¸öÖ¸¶¨µÄ×Ö·û´®ºÍ»»Ðзûµ½Ò»¸ö TextStream ÎļþÖС£ ʾÀý£º
f.WriteLine(\дÈë×Ö·û´®£¬¼ÓÒ»¸ö»»Ðзû¡£ ¡¤WriteBlankLines ·½·¨
Óï·¨£ºobject.WriteBlankLines(lines)
¹¦ÄÜ£ºÐ´ÈëÖ¸¶¨ÊýÁ¿µÄ»»Ðзûµ½Ò»¸ö TextStream ÎļþÖС£ ʾÀý£º
f.WriteBlankLines(3) 'Ï൱ÓÚ°´3´Î»Ø³µ¡£ 4¡¢¹Ø±ÕÎļþ
ÀûÓÃTextStream ¶ÔÏóµÄClose·½·¨£¬ÉÏÃæµÄʾÀýÖÐÒѾÓÐÁË£¬ºÜ¼òµ¥¡£
£¨Æß£©×ܽá
´ÓÉÏÃæµÄ½éÉÜ£¬ÎÒÃÇ¿´µ½Ê¹ÓÃFileSystemObject¶ÔÏó´¦ÀíÎļþ¡¢Îļþ¼Ð±ÈʹÓÃVBAÓï¾äµÄ·½·¨¾ßÓиüÈÝÒ×´æÔÚµÄÌØµã¡£ÕâÊÇÒòΪFileSystemObject¶ÔÏóʹÓÃÁËÃæÏò¶ÔÏóµÄÓï·¨¡£ÁíÍâFileSystemObject¶ÔÏó´¦ÀíÎı¾ÎļþºÁ²»Ñ·É«ÓÚVBAÓï¾ä£¬·Ç³£ÖµµÃÍÆ¼ö¡£Î¨Ò»µÄÎÊÌâÊDz»ÄÜ´¦Àí¶þ½øÖÆÎļþ£¬Î¢ÈíÔÚÓйØÎĵµÖгƼƻ®½«À´Ö§³Ö¶þ½øÖÆÎļþ£¬²»¹ýÓ¦¸ÃÖ»ÊǼƻ®¶øÒÑ£¬ºÇºÇ¡£
Excel-VBA²Ù×÷ÎļþËÄ´ó·½·¨Ö®ËÄ__ÀûÓÃAPIº¯ÊýÀ´´¦ÀíÎļþ
ͨ¹ýÇ°ÃæÈýÖÖ·½·¨µÄ½éÉÜ£¬ÄãÊÇ·ñÒѾ¾õµÃ×ã¹»ÁË£¿Êǵģ¬Ç°ÃæµÄ·½·¨ÍêÈ«¿ÉÒÔÓ¦¸¶¼¸ºõËùÓеÄÎļþ²Ù×÷¡£µ«ÊÇΪÁËÆÕ¼°Ò»ÏÂAPI£¬Õ¹Ê¾Ò»ÏÂAPIµÄ÷ÈÁ¦£¬×îºóÏò´ó¼Ò½éÉÜÒ»ÏÂÈçºÎÀûÓÃAPIº¯ÊýÀ´´¦ÀíÎļþ¡£ÁíÒ»·½ÃæÒ²ÊDZ¾È˶ÔAPIÇéÓжÀÖÓ£¬ÎªËý×öÒ»ÏÂ¹ã¸æ£¬ºÇºÇ¡£ ´ó¼Ò¶ÔAPIµÄÇ¿´óÒ²ÊÇÓÐËù¶úÎÅÁË£¬ÔÚÎļþ²Ù×÷·½Ã棬API×ÔÈ»ºÁ²»Ñ·É«¡£
˵Ã÷£ºÎªÁËÎÄÕ¼ò½à£¬ÎÒÃÇÏȸø³öAPIº¯ÊýµÄÃû³Æ¼°¹¦ÄÜ£¬ÆäÍêÕûµÄÉùÃ÷¼°³£Êý¾Í²»ÔÙһһϸËߣ¬Ö»ÔÚʾÀýÖиø³öÆäÍêÕûÓ÷¨¡£ £¨Ò»£©´¦ÀíÇý¶¯Æ÷¼°Ä¿Â¼
ÏÂÃæÊÇwindowsÖÐÌṩµÄ¶ÔÓÚĿ¼½øÐвÙ×÷µÄAPIº¯Êý¼°Æä¹¦ÄÜ: CreateDirectory,CreateDirectoryEx ´´½¨Ò»¸öÐÂĿ¼ GetCurrentDirectory ÔÚÒ»¸ö»º³åÇøÖÐ×°ÔØµ±Ç°Ä¿Â¼
GetDiskFreeSpace,GetDiskFreeSpaceEx »ñÈ¡ÓëÒ»¸ö´ÅÅ̵Ä×éÖ¯ÓйصÄÐÅÏ¢£¬ÒÔ¼°Á˽âÊ£Óà¿Õ¼äµÄÈÝÁ¿
GetDriveType ÅжÏÒ»¸ö´ÅÅÌÇý¶¯Æ÷µÄÀàÐÍ GetFullPathName »ñȡָ¶¨ÎļþµÄÍêÕû·¾¶Ãû
GetLogicalDrives ÅжÏϵͳÖдæÔÚÄÄЩÂß¼Çý¶¯Æ÷×Öĸ
GetLogicalDriveStrings »ñȡһ¸ö×Ö´®£¬ÆäÖаüº¬Á˵±Ç°ËùÓÐÂß¼Çý¶¯Æ÷µÄ¸ùÇý¶¯Æ÷·¾¶ GetSystemDirectory Õâ¸öº¯ÊýÄÜÈ¡µÃWindowsϵͳĿ¼£¨SystemĿ¼£©µÄÍêÕû·¾¶Ãû¡£ÔÚÕâ¸öĿ¼ÖУ¬°üº¬ÁËËùÓбØÒªµÄϵͳÎļþ¡£¸ù¾Ý΢ÈíµÄ±ê×¼£¬ÆäËû¶¨ÖƿؼþºÍһЩ¹²Ïí×é¼þÒ²¿É·Åµ½Õâ¸öĿ¼¡£Í¨³£Ó¦±ÜÃâÔÚÕâ¸öĿ¼Àï´´½¨Îļþ¡£ÔÚÍøÂç»·¾³ÖУ¬ÍùÍùÐèÒª¹ÜÀíԱȨÏ޲ſɶÔÕâ¸öĿ¼½øÐÐд²Ù×÷
GetTempPath »ñȡΪÁÙʱÎļþÖ¸¶¨µÄ·¾¶
GetVolumeInformation »ñÈ¡ÓëÒ»¸ö´ÅÅ̾íÓйصÄÐÅÏ¢
GetWindowsDirectory Õâ¸öº¯ÊýÄÜ»ñÈ¡WindowsĿ¼µÄÍêÕû·¾¶Ãû¡£ÔÚÕâ¸öĿ¼À±£´æÁË´ó¶àÊýwindowsÓ¦ÓóÌÐòÎļþ¼°³õʼ»¯Îļþ RemoveDirectory ɾ³ýÖ¸¶¨Ä¿Â¼ SetCurrentDirectory ÉèÖõ±Ç°Ä¿Â¼
SetVolumeLabel ÉèÖÃÒ»¸ö´ÅÅ̵ľí±ê£¨Label£©
ÏÂÃæÍ¨¹ý¼¸¸öÀý×ÓÀ´ÏêϸµÄÁ˽âÒ»ÏÂÆäÖÐÖ÷ÒªµÄ¼¸¸öº¯Êý¼°ÆäÓ÷¨£º 1¡¢GetLogicalDrives
×÷ÓãºÅжÏϵͳÖдæÔÚÄÄЩÂß¼Çý¶¯Æ÷×Öĸ
ÉùÃ÷£ºDeclare Function GetLogicalDrives Lib \˵Ã÷£º´Ëº¯ÊýµÄ·µ»ØÖµÀàÐÍΪLong£¬Õâ¸ö½á¹¹ÖеĶþ½øÖÆÎ»±êÖ¾×Å´æÔÚÄÄЩÇý¶¯Æ÷¡£ÆäÖУ¬Î»0ÉèΪ1±íʾÇý¶¯Æ÷A:´æÔÚÓÚϵͳÖУ»Î»1ÉèΪ1±íʾ´æÔÚB:Çý¶¯Æ÷£»ÒÔ´ÎÀàÍÆ ʾÀý£º
Public Sub Get_LogicalDrives()
Dim LDs As Long, Cnt As Long, sDrives As String LDs = GetLogicalDrives sDrives = \ For Cnt = 0 To 25
If (LDs And 2 ^ Cnt) <> 0 Then
sDrives = sDrives + \\ End If Next Cnt MsgBox sDrives End Sub
ÉÏÃæµÄʾÀýÖУ¬ÎÒÃÇͨ¹ý¶þ½øÖÆÔËË㣬½«·µ»ØÖµ×ª»»³É×Ö·û¡£Èç¹ûÄãµÄ»úÉÏÓÐC,D,E,F,G,HÕ⼸¸öÇý¶¯Æ÷£¬ÄÇôLDsµÄÖµ¾ÍÊÇ252£¬×ª³É¶þ½øÖÆÎª11111100£¬´ÓÓÒÍù×ó£¬ÒÀ´Î´ú±íA,B,C,D,...£¬Îª0µÄ˵Ã÷ûÓдËÇý¶¯Æ÷×Öĸ¡£´ó¼Ò¿ÉÒÔ×Ô¼ºÊÔÒ»ÊÔ¡£ 2¡¢GetDriveType
×÷ÓãºÅжÏÒ»¸ö´ÅÅÌÇý¶¯Æ÷µÄÀàÐÍ
ÉùÃ÷£ºDeclare Function GetDriveType Lib \String) As Long
˵Ã÷£º´Ëº¯ÊýµÄ·µ»ØÖµÀàÐÍΪLong£¬ÈçÇý¶¯Æ÷²»ÄÜʶ±ð£¬Ôò·µ»ØÁã¡£ÈçÖ¸¶¨µÄĿ¼²»´æÔÚ£¬Ôò·µ»Ø1¡£ÈçÖ´Ðгɹ¦£¬ÔòÓÃÏÂÊöÈκÎÒ»¸ö³£ÊýÖ¸¶¨Çý¶¯Æ÷ÀàÐÍ£ºDRIVE_REMOVABLE£¨±íʾ´ÅÅÌ¿ÉÒÔ´ÓÇý¶¯Æ÷ÉÏÒÆ×ߣ¬Í¨³£ÊÇÈíÇý£©£¬ DRIVE_FIXED£¨´ÅÅ̲»ÄÜ´ÓÇý¶¯Æ÷ÉÏÒÆ×ߣ¬Í¨³£Îª±¾µØÓ²ÅÌ£©£¬ DRIVE_REMOTE£¨Çý¶¯Æ÷ÊÇÔ¶³ÌÍøÂçÇý¶¯Æ÷£©£¬ DRIVE_CDROM£¨Çý¶¯Æ÷ÊÇCD-ROMÇý¶¯Æ÷£© »ò DRIVE_RAMDISK£¨Çý¶¯Æ÷ÊÇRAMÇý¶¯Æ÷£© ²ÎÊýΪStringÀàÐÍ£¬°üº¬ÁËÇý¶¯Æ÷¸ùĿ¼·¾¶µÄÒ»¸ö×Ö´®
´Ëº¯ÊýµÄ¹¦ÄÜÓëFSOµÄDrive¶ÔÏóµÄDriveTypeÊôÐÔÊÇÒ»ÑùµÄ¡£ ʾÀý£º
\\'¶¨Òå³£Êý±äÁ¿
Private Const DRIVE_CDROM = 5 \\'±íʾ¹âÅÌÇý¶¯Æ÷ Private Const DRIVE_FIXED = 3 \\'±íʾӲÅÌÇý¶¯Æ÷ Private Const DRIVE_RAMDISK = 6 \\'±íʾRAMÇý¶¯Æ÷ Private Const DRIVE_REMOTE = 4 \\'±íÊ¾ÍøÂçÇý¶¯Æ÷ Private Const DRIVE_REMOVABLE = 2 \\'±íʾÈíÅÌÇý¶¯Æ÷
Private Sub Get_DriveType() Dim temp As Long
temp = GetDriveType(\\\'È¡µÄd:ÅÌÇý¶¯Æ÷ÀàÐÍ Select Case temp
Case DRIVE_CDROM
MsgBox \¹âÅÌÇý¶¯Æ÷\ Case DRIVE_FIXED
MsgBox \Ó²ÅÌÇý¶¯Æ÷\ Case DRIVE_RAMDISK
MsgBox \Çý¶¯Æ÷\ Case DRIVE_REMOTE
MsgBox \ÍøÂçÇý¶¯Æ÷\ Case DRIVE_REMOVABLE
MsgBox \ABLE: ÈíÅÌÇý¶¯Æ÷\ End Select End Sub
3¡¢GetDiskFreeSpaceEx
¹²·ÖÏí92ƪÏà¹ØÎĵµ