ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[¸Ñ¨M¤F¡A§ï¬°¤À¨É] ¥ÎVBA§å¦¸À°¨ä¥Lexcel ªºVB±M®×³]©w±K½XÂê©w

[¸Ñ¨M¤F¡A§ï¬°¤À¨É] ¥ÎVBA§å¦¸À°¨ä¥Lexcel ªºVB±M®×³]©w±K½XÂê©w

¥»©«³Ì«á¥Ñ diabo ©ó 2011-2-28 00:31 ½s¿è

¤@ª½µLªk¦¨¥\¡A½Ð¤j®aÀ°¦£¬Ý¬Ý­þ¸Ì¦³°ÝÃD¡H
  1. Sub Lock_VBA()

  2.     Dim xlapp As Excel.Application
  3.     Dim wbSource As Excel.Workbook
  4.     Dim LogFileName As Variant
  5.     Dim fname As Variant
  6.     Dim VBA_PWD As String, XLS_PWD As String
  7.    
  8.    '¨ú±o±K½X
  9.     VBA_PWD = [c4]  'VBA password
  10.    
  11.     Set xlapp = New Excel.Application
  12.    
  13.    'MultiSelect:=True ªí¥Ü¥i½Æ¿ïÀÉ®×
  14.     LogFileName = Application.GetOpenFilename( _
  15.             FileFilter:="ExcelÀÉ(*.xls),*.txt", _
  16.             Title:="½Ð¿ï¨úÀÉ®×", MultiSelect:=True)
  17.    
  18.    '§PÂ_¨Ï¥ÎªÌ¬O§_¦³¿ï¨úÀɮסA©Î«ö¨ú®ø
  19.     If VarType(LogFileName) = vbBoolean Then
  20.         Exit Sub
  21.     End If
  22.    
  23.    

  24.     xlapp.Visible = True

  25.     For Each fname In LogFileName
  26.         Set wbSource = xlapp.Workbooks.Open(CStr(fname))
  27.         
  28.        '±M®×¨S¦³«OÅ@
  29.         If wbSource.VBProject.Protection = 0 Then
  30.             
  31.             DoEvents
  32.             
  33.             With xlapp
  34.                 .SendKeys "%{F11}"                'Alt + F11 ¤Á´«¨ìVBAµøµ¡
  35.                 .SendKeys "%Te"                    'ALT + T ¤u¨ã(ÁcÅ餤¤å¬O(T))-VBprojectÄÝ©Ê(E)
  36.                 .SendKeys "^{TAB}"                '¤Á´«¨ì¤U¤@­¶­± VBprojectÄÝ©Ê(E)-«OÅ@
  37.                 .SendKeys "{+}"                   '{+}/{-}¿ï¨ú/¨ú®ø¡uÂê©w±M®×¥H¨ÑÀ˵ø¡v
  38.                 .SendKeys "{TAB}", False          '²¾¨ì±K½XÄæ¦ì
  39.                 .SendKeys VBA_PWD & "{TAB}", True '¿é¤J±K½X
  40.                 .SendKeys VBA_PWD                 '½T»{±K½X
  41.                 .SendKeys "{TAB}{ENTER}"          '«ö½T©w¶s(¹w³]­È)
  42.                 .SendKeys "%q"                    '
  43.             End With
  44.             
  45.            '¦sÀÉ«áÃö³¬¸ÓÀÉ®×
  46.             wbSource.Save
  47.             wbSource.Close SaveChanges:=True
  48.             
  49.            'MsgBox Dir(fname) & " ±M®×Âê©w§¹¦¨"
  50.             
  51.         Else
  52.            
  53.            '¤£¦sÀÉ«áÃö³¬¸ÓÀÉ®×
  54.             wbSource.Close SaveChanges:=False
  55.            
  56.            'MsgBox Dir(fname) & " ±M®×¤w¸gÂê©w¡A½Ð¸ÑÂê«á¦A°õ¦æ"
  57.         End If

  58.     Next fname
  59.    
  60.     Set wbSource = Nothing     xlapp.Quit

  61. End Sub
½Æ»s¥N½X
lock_vba.rar (493.61 KB)
diabo

¤@ª½µLªk¦¨¥\¡A½Ð¤j®aÀ°¦£¬Ý¬Ý­þ¸Ì¦³°ÝÃD¡H
diabo µoªí©ó 2011-2-26 20:55


sendkeys»Ý­n°t¦Xª©­±Åã¥Ü§Ö³t«×,¸Õ¸Õ¥[¨Ç¼È°±ªº¥N½X
  1.                With xlapp
  2.                 .SendKeys "%{F11}"                'Alt + F11 ¤Á´«¨ìVBAµøµ¡
  3.                 Application.Wait (Now + TimeValue("0:00:01"))
  4.                 .SendKeys "%Te"                    'ALT + T ¤u¨ã(ÁcÅ餤¤å¬O(T))-VBprojectÄÝ©Ê(E)
  5.                 Application.Wait (Now + TimeValue("0:00:01"))
  6.                 .SendKeys "^{TAB}"                '¤Á´«¨ì¤U¤@­¶­± VBprojectÄÝ©Ê(E)-«OÅ@
  7.                 Application.Wait (Now + TimeValue("0:00:01"))
  8.                 .SendKeys "{+}"                   '{+}/{-}¿ï¨ú/¨ú®ø¡uÂê©w±M®×¥H¨ÑÀ˵ø¡v
  9.                 Application.Wait (Now + TimeValue("0:00:01"))
  10.                 .SendKeys "{TAB}", False          '²¾¨ì±K½XÄæ¦ì
  11.                 Application.Wait (Now + TimeValue("0:00:01"))
  12.                 .SendKeys VBA_PWD & "{TAB}", True '¿é¤J±K½X
  13.                 Application.Wait (Now + TimeValue("0:00:01"))
  14.                 .SendKeys VBA_PWD                 '½T»{±K½X
  15.                 Application.Wait (Now + TimeValue("0:00:01"))
  16.                 .SendKeys "{TAB}{ENTER}"          '«ö½T©w¶s(¹w³]­È)
  17.                 Application.Wait (Now + TimeValue("0:00:01"))
  18.                 .SendKeys "%q"                    '
  19.             End With
½Æ»s¥N½X
À´±oµo°Ý,µª®×´N·|¦b¨ä¤¤

¤µ¤éの¤@¬íは  ©ú¤éにない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

ÁÂÁ kimbal ¡AªGµM¬O³o­n©Rªº8¬í.......

²{¦b OK ¤F....
diabo

TOP

        ÀR«ä¦Û¦b : ®É®É¦n¤ß´N¬O®É®É¦n¤é¡C
ªð¦^¦Cªí ¤W¤@¥DÃD