Board logo

標題: [發問] 為何各sheets 被隱藏了 [打印本頁]

作者: yangjie    時間: 2014-6-12 09:11     標題: 為何各sheets 被隱藏了

請教大大:
        晚學有問題三,敬請賜教
一.VBA如何下與法,使A1.xls內的所有sheets隱藏
   且取消隱藏 需password
二.奇怪   個人學淺   找不出原因
Application.Visible=False
FileName = ThisWorkbook.Path & "\資料庫\" & str1 & "學期資料.xls"
If fsobj.FileExists(FileName) Then
        With CreateObject(FileName)
            .Sheets(SHname).Cells.Copy wb.Sheets("Temp").Cells(1, 1)
            .Close True
        End With
End If
當 application.quit 後 ,FileName之各sheets  沒有被隱藏

Application.Visible=False
FileName = ThisWorkbook.Path & "\資料庫\" & str1 & "學期資料.xls"
If fsobj.FileExists(FileName) Then
        With CreateObject(FileName)
           wb.Sheets("Temp").Cells.Copy  .Sheets(SHname).Cells(1, 1)
            .Close True
        End With
End If
當 application.quit 後 ,FileName之各sheets  被隱藏了  
應如何使它不隱藏  再.Close True
三.如何使A1.xls打開時不顯示功能列(*也就是說事前就已經設定好)
     VBA如何在B1.xls事前對A1.xls作事前設定

謝謝
作者: GBKEE    時間: 2014-6-12 14:55

回復 1# yangjie
  1. Option Explicit
  2. Sub Ex()
  3.     Dim FileName As String, E As Workbook
  4.     FileName = "D:\BOOK2.XLS"
  5.     With CreateObject(FileName)
  6.         '*** 顯示活頁簿是這樣嗎? *****
  7.         .Windows(.Name).Visible = True
  8.         '.Sheets(SHname).Cells.Copy wb.Sheets("Temp").Cells(1, 1)
  9.         .Close True
  10.     End With
  11. End Sub
  12. Sub 功能列()
  13.     功能列_Show True  '顯示功能列
  14.     Stop
  15.     功能列_Show False '不顯示功能列
  16. End Sub
  17. Private Sub 功能列_Show(Msg As Boolean)
  18.     With Application
  19.         .DisplayFullScreen = Not Msg
  20.         .CommandBars.ActiveMenuBar.Enabled = Msg
  21.     End With
  22. End Sub
  23. Sub Sheets_隱藏()
  24.     Dim i As Integer
  25.     With ActiveWorkbook
  26.         .Protect Password:="1234", Structure:=True, Windows:=True '保護活頁簿的 結構,視窗
  27.         .Unprotect Password:="1234" '活頁簿: 解除保護.
  28.         For i = 2 To .Sheets.Count  '活頁簿至少要有一張工作表是可見的
  29.             Sheet1.Visible = xlSheetVeryHidden  '值= 2 :vba 的工作表隱藏,需用vba 取消工作表隱藏
  30.         Next
  31.         .Protect Password:="1234", Structure:=True, Windows:=True
  32.     End With
  33. End Sub
複製代碼

作者: yangjie    時間: 2014-6-13 23:54

回復 2# GBKEE
謝謝版大
Sheet1.Visible = xlSheetVeryHidden   與
Sheet1.Visible = false      一樣嗎?

Sub Ex()
    Dim FileName As String, E As Workbook
    FileName = ThisWorkbook.Path & "\資料庫\" & "97學年上學期資料.xls"
    xlfilenam = Dir(FileName)
    Dim fsobj As Object
    Set fsobj = CreateObject("Scripting.FileSystemObject")
    If fsobj.FileExists(FileName) Then
        With CreateObject(FileName)
              .Windows(xlfilenam).Visible = False ---------此行可否加密
             .Close True
        End With
    End If
作者: yangjie    時間: 2014-6-14 00:21

回復 2# GBKEE
再請教GBKEE版大
這是自訂表單  已密碼控制流程
  Private Sub CommandButton1_Click()
    If Label1.Caption = "" Or Label1.Caption = "0" Then
        Unload Me
        Exit Sub
    End If
    If Label1.Caption = "510510" Then
        Sheets("首頁").Cells(5, 12) = Label1.Caption
        Unload Me
    Else
        TextBox1 = ""
        TextBox1.SetFocus
    End If

End Sub
Private Sub TextBox1_Change()
    If TextBox1 = "" Then
        Label1.Caption = TextBox1
        Exit Sub
    End If
    If Right(TextBox1, 1) <> "*" Then
        Label1.Caption = Label1.Caption & Right(TextBox1, 1)
    End If
    an = Len(TextBox1)
    TextBox1 = String(an, "*")
End Sub  
請教版大:
我的CommandButton1.caption 是"確定"
當TextBox1輸入了密碼好了    按  "確定"鍵 即可
     個人想不移動滑鼠  直接按  keyboard上"Enter"鍵  即可觸發  CommandButton1_Click
     應如何下語法
作者: GBKEE    時間: 2014-6-14 06:00

回復 4# yangjie
---------此行可否加密 ???
Sheet1.Visible = False ,  你可在工作表上取消隱藏
  1. '請詳看VBA的KeyPress 事件
  2. Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  3.     If KeyAscii = 10 Then   '按下組合鍵 CTRL+Enter
  4.         CommandButton1.SetFocus
  5.         CommandButton1_Click
  6.     End If
  7. End Sub
複製代碼

作者: yangjie    時間: 2014-6-14 10:29

回復 5# GBKEE
謝謝GBKEE
請教
取消 如 右邊的隱藏  Sheet1.Visible = xlSheetVeryHidden   
用 Sheet1.Visible = True      可有其他知受限?
作者: GBKEE    時間: 2014-6-14 16:51

回復 6# yangjie

受限當是   
Sheet1.Visible = xlSheetVeryHidden  '值= 2 :vba 的工作表隱藏,需用vba 取消工作表隱藏





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)