2014年2月21日 星期五

EXCEL VBA:不開啟巨集,看不到資料

資料來源:Excel VBA Comics  http://blog.xuite.net/crdotlin/excel/9105329

工作表Secret
工作表Sheet1
工作表Sheet1上有一個文字方塊DPT與一個按鈕控制項BTN
Thisworkbook 模組
表單 UserForm1
UserForm1 模組
 一般模組

==============================================
Thisworkbook 模組

 '關檔前處理程序
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'將 Secret 工作表深度隱藏
Worksheets("Secret").Visible = xlVeryHidden
'設定 Sheet1 工作表
With Worksheets("Sheet1")
    .Activate       '設為作用工作表
    .Shapes("BTN").Visible = False      '按鈕隱藏
    .Shapes("DPT").Visible = True       '說明文字框顯示
End With
Me.Save         '強迫儲存
End Sub
-------------------------------------------------------------------------------
'開檔時處理程序
Private Sub Workbook_Open()
    '將 Sheet1 工作表
    With Worksheets("Sheet1").Shapes
        .Item("BTN").Visible = True     '按鈕顯示
        .Item("DPT").Visible = False   '說明文字框隱藏
    End With
End Sub 


==============================================
'UserForm1 模組 

' [確定] 按鈕
Private Sub CommandButton1_Click()
'若輸入的帳號及密碼都是 crdotlin 即是正確
If Me.TextBox1.Text = "crdotlin" And Me.TextBox2.Text = "crdotlin" Then
    '將 Secret 工作表顯示
    ThisWorkbook.Worksheets("Secret").Visible = True
    '將 Sheet1 工作表上的 [按鈕] 隱藏
    Worksheets("Sheet1").Shapes("BTN").Visible = False
    '卸載本自訂表單
    Unload Me
Else
    '驗證錯誤處理
    myCheck
End If
End Sub

---------------------------------------------------------------------------------------
 '[清除] 按鈕
Private Sub CommandButton2_Click()
Me.TextBox1.Text = ""   '帳號資料消除
Me.TextBox2.Text = ""   '消除密碼資料
End Sub
---------------------------------------------------------------------------------------
 '驗證失敗處理程序
Private Sub myCheck()
Dim ans     '錯誤訊息回應
    '顯示錯誤訊息
    ans = MsgBox("錯誤!", vbRetryCancel + vbExclamation, "驗證失敗!")
    '檢查回應內容
    If ans = vbRetry Then       '選擇 [重試]
        Me.TextBox1.Text = ""        '帳號資料消除
        Me.TextBox2.Text = ""       '消除密碼資料
    ElseIf ans = vbCancel Then          '選擇 [取消]
        Unload Me        '卸載本自訂表單
    Else        '應該部會到這裡
        myCheck '萬一到了這裡, 再執行驗證失敗處理程序
    End If
End Sub
==============================================
 一般模組

Sub showForm()
    '如果 Secret 工作表已經打開, 退出
    If Worksheets("Secret").Visible = True Then Exit Sub
    '否則開啟 [驗證對話框]
    UserForm1.Show
End Sub
所有密碼及帳號均為"crdotlin" ==============================================


============================================== 

沒有留言:

張貼留言

關節卡卡或彈響

關節間產生的潤滑液少,關節摩擦的損耗 髖關節彈響。 一般有兩種情況,第一種是關節外彈響較常見。 發生的主要原因是髂脛束的後緣或臀大肌肌腱部的前緣增厚, 在髖關節作屈曲、內收、內旋活動時,增厚的組織在大粗隆部前後滑動而發出彈響, 同時可見到和摸到一條粗而緊的縴維帶在...