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

(µo°Ý)WEB¬d¸ß¡A¦p¦ó¨ú®ø¸õ¥XªºÄµ§iµøµ¡

(µo°Ý)WEB¬d¸ß¡A¦p¦ó¨ú®ø¸õ¥XªºÄµ§iµøµ¡

¦U¦ì¥ý¶i¡A¤p§Ì¦³¨Ï¥ÎWEB¬d¸ßºô­¶¸ê®Æ¡A¦ý±`±`·|¦]¬°ºô¸ô³s½u¤£¨}¡A¥X²{¥H¤U°T®§¡G

"¦¹WEB¬d¸ß¨S¦³¶Ç¦^¸ê®Æ¡A­n­×§ï¬d¸ß¡A«ö[½T©w]¡A«ö¸ê®Æ½s¿è¦C¤Wªº¦WºÙ¤è¶ô¤¤ªº¥~³¡¸ê®Æ½d³ò¡AµM«á«ö[¥~³¡¸ê®Æ]¤u¨ã¦C¤Wªº[½s¿è¬d¸ß]¡C"

¥²¶·±N³o°T®§ÂI±¼¡A¤~¯àÄ~Äò§ó·sWEB¬d¸ßªº¸ê®Æ¡A±`±`µ{¦¡¶]¤@¥b¥d¦í¡A«D±`§xÂZ¡C
¦³¸Õ¹LApplication.DisplayAlerts = False ©Î Application.EnableEvents = false©ÎOn error resume  next
¤£¹L³£¨S¦³¥Î¡A½Ð¦U¦ì¥ý¶i«üÂI¤@¤U¡A·P¿E¤£ºÉ¡C

¦^´_ 1# jewayy
§A¥i¥H©ó¿ù»~µo¥Í®É±Nµ{¦¡¾É¦V¿ù»~³B²zµ{§Ç,
©ó ¿ù»~³B²zµ{§Ç ¶}ÀY¨Æ¥ý¥ý¥[¤W¤¤Â_,
¦A©ó¨ä¤¤Åã¥Ü¥X¿ù»~¥N½X,
³Ì«á±N¸Ó¥N½Xªº³B²zµ{§Ç¥[¤J§Y¥i.
  Sub Test()  
  On Error GoTo ErrorFix
  exit Sub

ErrorFix:
  MsgBox Err.Number
  MsgBox Err.Description
If Err.Number = 11 Then
.
.
    Err.Clear
  End If
  Resume
End Sub

TOP

ÁÂÁ±zªº¦^ÂСC
¤£¹L´N¬Oµ{¦¡§ì¤£¨ìError,§_«h¥ÎOn Error Resume  Next´N¦³¥Î¤F¡C
¦]¦¹¦³¹Á¸Õ¹L±zªº¤èªk¡A´N¬O¸õ¤£¨ìErrorFix,¦]¦¹´N¨S¿ìªk¥ÎErr.Number¨Ó³B²z¤F¡C
©Ò¥H¦¹¿ù»~"¦¹WEB¬d¸ß¨S¦³¶Ç¦^¸ê®Æ¡A­n­×§ï¬d¸ß¡A«ö[½T©w]¡A«ö¸ê®Æ½s¿è¦C¤Wªº¦WºÙ¤è¶ô¤¤ªº¥~³¡¸ê®Æ½d³ò¡AµM«á«ö[¥~³¡¸ê®Æ]¤u¨ã¦C¤Wªº[½s¿è¬d¸ß]¡C"ÁÙ¬OÄ~Äò²£¥Í¡AµLªk®ø°£¡C
½Ð°ÝÁÙ¦³¨ä¥Lidea¶Ü¡HÁÙ¬O«D±`ÁÂÁ±z¼·¤¾¦^ÂÐ~~
Hi~

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2011-11-1 12:59 ½s¿è

¦^´_ 3# jewayy
¸Õ¸Õ¬Ý
  1. Sub Ex()
  2. Dim t As Date
  3.     t = Time
  4.     On Error Resume Next
  5. 1:
  6.     Sheet1.QueryTables(1).Refresh False
  7.     Debug.Print Err.Number                 '§Y®É¹Bºâµøµ¡¬d¬Ý Err.Number
  8.     If Err.Number > 0 Then                 'Web¬d¸ß ¥¢±Ñ
  9.         If Time > t + #12:00:10 AM# Then   '³s½u®É¶¡¶W¹L1¤ÀÄÁ
  10.             If MsgBox("³s½u®É¶¡¶W¹L1¤ÀÄÁ Ä~ÄòWeb¬d¸ß ??", vbYesNo) = vbNo Then Exit Sub
  11.             t = Time
  12.         End If
  13.         GoTo 1
  14.     End If
  15. End Sub
½Æ»s¥N½X
  1. Sub Ex1()
  2.     Dim t As Date
  3.     t = Time
  4.     On Error Resume Next
  5.     Do
  6.         Err.Clear
  7.         Sheet1.QueryTables(1).Refresh False
  8.         If Err.Number > 0 Then                 'Web¬d¸ß ¥¢±Ñ
  9.             If Time > t + #12:00:10 AM# Then   '³s½u®É¶¡¶W¹L1¤ÀÄÁ
  10.                 If MsgBox("³s½u®É¶¡¶W¹L1¤ÀÄÁ Ä~ÄòWeb¬d¸ß ??", vbYesNo) = vbNo Then Exit Sub
  11.                 t = Time
  12.             End If
  13.         End If
  14.     Loop While Err.Number > 0
  15. End Sub
½Æ»s¥N½X

TOP

ÁÂÁ±zªº¦^ÂСA¤w¸g¸Õ¤F±zªº¼gªk¡AÁÙ¬O¨S¦³¿ìªk§ì¨ì¿ù»~µøµ¡ªº¨Æ¥ó¨Ó³B²z¡C
ªþ¤WÀɮצn¤F¡C
Sheet2ªº¸ê®Æ·|ÀHµÛSheet1ªºA1~A3¨Ó°µWEB¬d¸ßÅÜ°Ê¡A¦]¦¹³]­pC1~C3 copy¹L¥h§ïÅÜA1~A3®É¶i¦æWEB¬d¸ß¡C
C2ªº¼Æ­È70645291¬O¬G·N³]­p¬d¸ß¤£¨ìªº¡A·QÂǦ¹½m²ß¸I¨ìĵ§iµøµ¡­n¦p¦ó³B²z¡A½Ð¥ý¶i«üÂI¤@¤U¡A·PÁÂ~

Book1.rar (8.81 KB)

    Sub Ex2()
        Dim t As Date
        t = Time
        On Error Resume Next
        
    Worksheets("Sheet1").Activate
    Range("A1:A3").Value = Range("C1:C3").Value
        
        Do
            Err.Clear
            Sheet1.QueryTables(1).Refresh False
            If Err.Number > 0 Then                 'Web¬d¸ß ¥¢±Ñ
                GoTo J:
            End If
        Loop While Err.Number > 0

J:

    MsgBox "Game over"
   
    End Sub
Hi~

TOP

¦^´_ 5# jewayy
  1. Sub Ex1()
  2.     Dim t As Date
  3.     t = Time
  4.     On Error Resume Next
  5.     With Sheet1
  6.         .Range("A1:A3").Value = .Range("C1:C3").Value
  7.     End With
  8.     With Sheet2
  9.         .Cells.Interior.ColorIndex = xlNone
  10.         For I = 1 To .QueryTables.Count
  11.             Err.Clear
  12.             .QueryTables(I).Refresh False
  13.             If Err.Number > 0 Then                 'Web¬d¸ß ¥¢±Ñ
  14.                 With .QueryTables(I).ResultRange
  15.                     .Interior.ColorIndex = 37
  16.                     .Cells(1).Offset(1).Resize(.Rows.Count - 1, .Columns.Count) = "¬dµL¸ê®Æ"
  17.                 End With
  18.             End If
  19.         Next I
  20.     End With
  21. End Sub
½Æ»s¥N½X

TOP

ÁÂÁÂ¥ý¶iGBKEEª©¥D«üÂI°g¬z¡A²{¦b¤~ª¾¹DQuerytablesªº¥Îªk¡A¯uªº«Ü¨ü¥Î¡C
¤£¹L¡AÁÙ¬O·|¸õ¥X
"¦¹WEB¬d¸ß¨S¦³¶Ç¦^¸ê®Æ¡A­n­×§ï¬d¸ß¡A«ö[½T©w]......."µ¥ªº°T®§
¥²¶·±N³o°T®§ÂI±¼¡A¤~¯àÄ~Äò§ó·sWEB¬d¸ßªº¸ê®Æ¡A±`±`µ{¦¡¶]¤@¥b¥d¦í¡A«D±`§xÂZ¡C
¦A¦¸¤æÁx½Ð±Ð¡A¦³¤èªkÅý³o°T®§¤£­n¸õ¥X¨Ó¶Ü¡H
Hi~

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2011-11-17 08:05 ½s¿è

¦^´_ 7# jewayy
©_©Ç ´ú¸Õ¨S°ÝÃDªº, «ç¤S¥X²{ ,½Ð§ï¥Îª«¥óÃþ§O¼Ò²Õ.
½Ð¦b VAB¤¤´¡¤J¤@ ª«¥óÃþ§O¼Ò²Õ  ·|¦Û°Ê¦W¬° Class1
°õ¦æ Ex
Module1ªºµ{¦¡½X
  1. Sub Ex()
  2.     Dim i As Integer, Test() As New Class1
  3.     'Test«ü©w¬° ·sª«¥óÃþ§O¼Ò²Õ :  Class1ª«¥ó
  4.     On Error Resume Next
  5.     For i = 1 To Sheet2.QueryTables.Count
  6.         ReDim Preserve Test(1 To i)
  7.         Set Test(i).Query = Sheet2.QueryTables(i)
  8.         Test(i).Query.Refresh False
  9.     Next
  10. End Sub
½Æ»s¥N½X
ª«¥óÃþ§O¼Ò²Õ   : Class1 ªºµ{¦¡½X
  1. Option Explicit
  2. Public WithEvents Query As QueryTable    'Query«ü©w¬°QueryTableª«¥ó
  3. Private Sub Query_AfterRefresh(ByVal Success As Boolean)   '¬d¸ß«áªº¨Æ¥ó
  4.   If Success = False Then    '¬d¸ß¥¢±Ñ   'Success = True   ¬d¸ß¦¨¥\
  5.         With Query.ResultRange
  6.             .Interior.ColorIndex = 37
  7.             .Cells(1).Offset(1).Resize(.Rows.Count - 1, .Columns.Count) = "¬dµL¸ê®Æ"
  8.         End With
  9.   End If
  10. End Sub
  11. Private Sub Query_BeforeRefresh(Cancel As Boolean)  '¬d¸ß«eªº¨Æ¥ó
  12.     With Query.ResultRange
  13.             .Interior.ColorIndex = xlNone
  14.     End With
  15. End Sub
½Æ»s¥N½X

TOP

ÁÂÁ±z¥Î¤ß«ü¾É¡A¦bModule1°õ¦æEx.
¤£ª¾¹D§Ú³o¼Ë¼g¹ï¤£¹ï¡A½ÐÀ°§Ú½T»{¡A¦]¬°Äµ§i°T®§ÁÙ¬O·|¶]¥X¨Ó¡A«¢«¢¡C
ªþ¤WÀɮרѱz°Ñ¦Ò~ Book2.rar (12.47 KB)

¼Ò²ÕModule1
    Sub Ex()
        Dim i As Integer, Test() As New Class1
        'Test«ü©w¬° ·sª«¥óÃþ§O¼Ò²Õ :  Class1ª«¥ó
        On Error Resume Next
        
        With Sheet1
            .Range("A1:A3").Value = .Range("C1:C3").Value
        End With
   
        For i = 1 To Sheet2.QueryTables.Count
            ReDim Preserve Test(1 To i)
            Set Test(i).Query = Sheet2.QueryTables(i)
            Test(i).Query.Refresh False
        Next
    End Sub

ª«¥óÃþ§O¼Ò¦¡ Class1
   Option Explicit
    Public WithEvents Query As QueryTable    'Query«ü©w¬°QueryTableª«¥ó
    Private Sub Query_AfterRefresh(ByVal Success As Boolean)   '¬d¸ß«áªº¨Æ¥ó
      
      If Success = False Then    '¬d¸ß¥¢±Ñ   'Success = True   ¬d¸ß¦¨¥\
            With Query.ResultRange
                .Interior.ColorIndex = 37
                .Cells(1).Offset(1).Resize(.Rows.Count - 1, .Columns.Count) = "¬dµL¸ê®Æ"
            End With
      End If
    End Sub
   
    Private Sub Query_BeforeRefresh(Cancel As Boolean)  '¬d¸ß«eªº¨Æ¥ó
        With Query.ResultRange
                .Interior.ColorIndex = xlNone
        End With
    End Sub
Hi~

TOP

¦^´_ 9# jewayy
¨S¿ìªk¸Ñ¨M    §Aªº Web¬d¸ß ³]©w°Ñ¼Æ ÅÜ°Ê   ¨t²Î  ¦Û°Ê§ó·s¸ê®Æ    VBAµLªk±±¨î   
   
  1. With Sheet1
  2.             .Range("A1:A3").Value = .Range("C1:C3").Value    '±Ò°Ê ¨t²Î  ¦Û°Ê§ó·s¸ê®Æ
  3.         End With
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¡i¥Í©R¦b©I§l¶¡¡j¦òªû»¡¡G¡u¥Í©R¦b©I§l¶¡¡C¡v¤HµLªkºÞ¦í¦Û¤vªº¥Í©R¡A§óµLªk¾×¦í¦º´Á¡AÅý¦Û¤v¥Ã¦í¤H¶¡¡C¬JµM¥Í©R¥h¨Ó³o»òµL±`¡A§Ú­Ì§óÀ³¸Ó¦n¦n¦a·R±¤¥¦¡B§Q¥Î¥¦¡B¥R¹ê¥¦¡AÅý³oµL±`¡BÄ_¶Qªº¥Í©R¡A´²µo¥¦¯uµ½¬üªº¥ú½÷¡A¬M·Ó¥X¥Í©R¯u¥¿ªº»ù­È¡C
ªð¦^¦Cªí ¤W¤@¥DÃD