Board logo

標題: [發問] 巨集停止請教 [打印本頁]

作者: bqwangs    時間: 2014-7-8 20:56     標題: 巨集停止請教

底下的巨集我設成一開檔就會自動執行crMain巨集
有辦法設一個按鈕 或者根本不用設按鈕
就有辦法將EXCEL整個檔案關閉嗎??

Sub getCSV()
Dim textline As String
Dim myVals As Variant
Dim i As Long
    On Error Resume Next
    Open ThisWorkbook.Path & "\tttt.csv" For Input As #1
   
        Line Input #1, textline
        myVals = Split(textline, "   ")
        With ActiveSheet
        For i = 0 To 1
            .Cells(i + 1, 1).Value = myVals(i)
        Next
        .Range("b5") = myVals(2)
        .Range("e5") = myVals(3)
        .Range("c5") = myVals(4)
        End With
    Close #1
End Sub

Sub crMain()
    lastM = 0
    Do
        If lastM <> fMdfd Then
            lastM = fMdfd
            getCSV
        End If
        DoEvents
    Loop
End Sub

Public Function fMdfd() As Variant
    Dim fso As New filesystemobject
    Dim theF As file
   
    Set theF = fso.getfile(ThisWorkbook.Path & "\tttt.csv")
    fMdfd = theF.DateLastModified
    Set fso = Nothing
End Function
作者: stillfish00    時間: 2014-7-9 23:16

回復 1# bqwangs
我猜你是要這樣吧....

最上面加個全域變數
Public gbStop as Boolean
修改crMain
  1. Sub crMain()
  2.     gbStop = False
  3.     lastM = 0
  4.     Do
  5.         If lastM <> fMdfd Then
  6.             lastM = fMdfd
  7.             getCSV
  8.         End If
  9.         DoEvents
  10.     Loop Until gbStop
  11. End Sub
複製代碼
另新增(按鈕呼叫此巨集)
  1. Sub UserStop()
  2.     gbStop = True
  3. End Sub
複製代碼





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