ÒªÇóÊäÈëÃÜÂë¡£
ʾÀý03-21£º·µ»Ø¹¤×÷²¾Óû§×´Ì¬ÐÅÏ¢(UserStatusÊôÐÔ) Sub UsePassword()
Dim Users As Variant Dim Row As Long
Users = ActiveWorkbook.UserStatus Row = 1
With Workbooks.Add.Sheets(1) .Cells(Row, 1) = \Óû§Ãû\
.Cells(Row, 2) = \ÈÕÆÚºÍʱ¼ä\ .Cells(Row, 3) = \ʹÓ÷½Ê½\
For Row = 1 To UBound(Users, 1) .Cells(Row + 1, 1) = Users(Row, 1) .Cells(Row + 1, 2) = Users(Row, 2) Select Case Users(Row, 3) Case 1
.Cells(Row + 1, 3).Value = \¸öÈ˹¤×÷²¾\ Case 2
.Cells(Row + 1, 3).Value = \¹²Ïí¹¤×÷²¾\ End Select Next End With
Range(\End Sub ʾÀý˵Ã÷£ºÊ¾Àý´úÂëÔËÐк󣬽«´´½¨Ò»¸öй¤×÷²¾²¢´øÓÐÓû§Ê¹Óõ±Ç°¹¤×÷²¾µÄÐÅÏ¢£¬¼´Óû§Ãû¡¢´ò¿ªµÄÈÕÆÚºÍʱ¼ä¼°¹¤×÷²¾Ê¹Ó÷½Ê½¡£
ʾÀý03-22£º¼ì²é¹¤×÷²¾ÊÇ·ñÓÐÃÜÂë±£»¤(HasPasswordÊôÐÔ) Sub IsPassword()
If ActiveWorkbook.HasPassword = True Then
MsgBox \±¾¹¤×÷²¾ÓÐÃÜÂë±£»¤,ÇëÔÚ¹ÜÀíÔ±´¦»ñÈ¡ÃÜÂë.\ Else
MsgBox \±¾¹¤×÷²¾ÎÞÃÜÂë±£»¤,Äú¿ÉÒÔ×ÔÓɱà¼.\ End If End Sub
ʾÀý03-23£º¾ö¶¨Áбí±ß¿òÊÇ·ñ¿É¼û(InactiveListBorderVisibleÊôÐÔ) Sub HideListBorders()
MsgBox \Òþ²Øµ±Ç°¹¤×÷²¾ÖÐËùÓзǻÁбíµÄ±ß¿ò.\ ActiveWorkbook.InactiveListBorderVisible = False End Sub
37
ʾÀý03-24£º¹Ø±Õ¹¤×÷²¾ [ʾÀý03-24-01]
Sub CloseWorkbook1()
Msgbox ¡°²»±£´æËù×÷µÄ¸Ä±ä¶ø¹Ø±Õ±¾¹¤×÷²¾¡± ActiveWorkbook.Close False
¡®»òActiveWorkbook.Close SaveChanges:=False ¡®»òActiveWorkbook.Saved=True End sub
[ʾÀý03-24-02]
Sub CloseWorkbook2()
Msgbox ¡°±£´æËù×÷µÄ¸Ä±ä²¢¹Ø±Õ±¾¹¤×÷²¾¡± ActiveWorkbook.Close True End sub
[ʾÀý03-24-03]
Sub CloseWorkbook3()
Msgbox ¡°¹Ø±Õ±¾¹¤×÷²¾¡£Èç¹û¹¤×÷²¾ÒÑ·¢Éú±ä»¯£¬Ôòµ¯³öÊÇ·ñ±£´æ¸ü¸ÄµÄ¶Ô»°¿ò¡£¡±
ActiveWorkbook.Close True End sub
[ʾÀý03-24-04] ¹Ø±Õ²¢±£´æËùÓй¤×÷²¾ Sub CloseAllWorkbooks() Dim Book As Workbook
For Each Book In Workbooks
If Book.Name<>ThisWorkbook.Name Then Book.Close savechanges:=True End If Next Book
ThisWorkbook.Close savechanges:=True End Sub
[ʾÀý03-24-05] ¹Ø±Õ¹¤×÷²¾²¢½«Ëü³¹µ×ɾ³ý Sub KillMe()
With ThisWorkbook .Saved = True
.ChangeFileAccess Mode:=xlReadOnly Kill .FullName .Close False End With End Sub
[ʾÀý03-24-06]¹Ø±ÕËùÓй¤×÷²¾£¬Èô¹¤×÷²¾ÒѸıäÔòµ¯³öÊÇ·ñ±£´æ±ä»¯µÄ¶Ô»°¿ò
Sub closeAllWorkbook()
MsgBox \¹Ø±Õµ±Ç°Ëù´ò¿ªµÄËùÓй¤×÷²¾\ Workbooks.Close End Sub
38
µÚÈýÕ ¹¤×÷²¾(Workbook)»ù±¾²Ù×÷Ó¦ÓÃʾÀý(¶þ)
·ÖÀà:ExcelVBA>>ExcelVBA±à³ÌÈëÃÅ·¶Àý
<ÆäËüһЩÓйزÙ×÷¹¤×÷²¾µÄʾÀý> ʾÀý03-25£º´´½¨ÐµĹ¤×÷²¾ Sub testNewWorkbook()
MsgBox \´´½¨Ò»¸ö´øÓÐ10¸ö¹¤×÷±íµÄй¤×÷²¾\Dim wb as Workbook
Set wb = NewWorkbook(10) End Sub
¡®- - - - - - - - - - - - - - - - - - - - - - - Function NewWorkbook(wsCount As Integer) As Workbook
'´´½¨´øÓÐÓɱäÁ¿wsCountÌᶨÊýÁ¿¹¤×÷±íµÄ¹¤×÷²¾£¬¹¤×÷±íÊýÔÚ1ÖÁ255Ö®¼ä Dim OriginalWorksheetCount As Long Set NewWorkbook = Nothing
If wsCount < 1 Or wsCount > 255 Then Exit Function
OriginalWorksheetCount = Application.SheetsInNewWorkbook Application.SheetsInNewWorkbook = wsCount Set NewWorkbook = Workbooks.Add
Application.SheetsInNewWorkbook = OriginalWorksheetCount End Function
ʾÀý˵Ã÷£º×Ô¶¨Ò庯ÊýNewWorkbook¿ÉÒÔ´´½¨×î¶à´øÓÐ255¸ö¹¤×÷±íµÄ¹¤×÷²¾¡£±¾²âÊÔʾÀý´´½¨Ò»¸ö´øÓÐ10¸ö¹¤×÷±íµÄй¤×÷²¾¡£
ʾÀý03-26£ºÅжϹ¤×÷²¾ÊÇ·ñ´æÔÚ Sub testFileExists()
MsgBox \Èç¹ûÎļþ²»´æÔÚÔòÓÃÐÅÏ¢¿ò˵Ã÷,·ñÔò´ò¿ª¸ÃÎļþ.\ If Not FileExists(\Îļþ¼Ð\\×ÓÎļþ¼Ð\\Îļþ.xls\ MsgBox \Õâ¸ö¹¤×÷²¾²»´æÔÚ!\ Else
Workbooks.Open \Îļþ¼Ð\\×ÓÎļþ¼Ð\\Îļþ.xls\ End If End Sub
¡®- - - - - - - - - - - - - - - - - - - - - - -
Function FileExists(FullFileName As String) As Boolean 'Èç¹û¹¤×÷²¾´æÔÚ,Ôò·µ»ØTrue
FileExists = Len(Dir(FullFileName)) > 0 End Function
ʾÀý˵Ã÷£º±¾Ê¾ÀýʹÓÃ×Ô¶¨Ò庯ÊýFileExistsÅжϹ¤×÷²¾ÊÇ·ñ´æÔÚ£¬Èô¸Ã¹¤×÷²¾ÒÑ´æÔÚ£¬Ôò´ò¿ªËü¡£´úÂëÖУ¬¡°C:\\Îļþ¼Ð\\×ÓÎļþ¼Ð\\Îļþ.xls¡±´ú±í¹¤×÷²¾ËùÔÚµÄÎļþ¼ÐÃû¡¢×ÓÎļþ¼ÐÃûºÍ¹¤×÷²¾ÎļþÃû¡£
ʾÀý03-27£ºÅжϹ¤×÷²¾ÊÇ·ñÒÑ´ò¿ª
39
[ʾÀý03-27-01]
Sub testWorkbookOpen()
MsgBox \Èç¹û¹¤×÷²¾Î´´ò¿ª,Ôò´ò¿ª¸Ã¹¤×÷²¾.\ If Not WorkbookOpen(\¹¤×÷²¾Ãû.xls\ Workbooks.Open \¹¤×÷²¾Ãû.xls\ End If End Sub
¡®- - - - - - - - - - - - - - - - - - - - - - -
Function WorkbookOpen(WorkBookName As String) As Boolean 'Èç¹û¸Ã¹¤×÷²¾ÒÑ´ò¿ªÔò·µ»ØÕæ WorkbookOpen = False
On Error GoTo WorkBookNotOpen
If Len(Application.Workbooks(WorkBookName).Name) > 0 Then WorkbookOpen = True MsgBox \¸Ã¹¤×÷²¾ÒÑ´ò¿ª\ Exit Function End If
WorkBookNotOpen: End Function
ʾÀý˵Ã÷£º±¾Ê¾ÀýÖеĺ¯ÊýWorkbookOpenÓÃÀ´ÅжϹ¤×÷²¾ÊÇ·ñ´ò¿ª¡£´úÂëÖУ¬¡°¹¤×÷²¾Ãû.xls¡±´ú±íËùÒª´ò¿ªµÄ¹¤×÷²¾Ãû³Æ¡£ [ʾÀý03-27-02]
Sub testWookbookIFOpen() Dim wb As String Dim bwb As Boolean
wb = \ÒªÅжϵŤ×÷²¾Ãû³Æ>\ bwb = WorkbookIsOpen(wb) If bwb = True Then
MsgBox \¹¤×÷²¾\ÒÑ´ò¿ª.\ Else
MsgBox \¹¤×÷²¾\δ´ò¿ª.\ End If End Sub
¡®- - - - - - - - - - - - - - - - - - - - - - - Private Function WorkbookIsOpen(wbname) As Boolean Dim x As Workbook On Error Resume Next
Set x = Workbooks(wbname) If Err = 0 Then
WorkbookIsOpen = True Else
WorkbookIsOpen = False End If
End Function
40