以下是我目前的步驟動態添加和運行VBA代碼
訪問文件導出CSV文件的宏(VBA代碼)
導出CSV文件通過宏來得到修改(VBA代碼)
現在,我在執行上接入宏(步驟1) - 導出的文件下>,添加代碼並運行(步驟2)
我想簡化這個過程。
是否可以通過執行步驟1,將步驟2代碼添加到csv文件並運行?
步驟1碼
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim intFile As Integer
Dim strFilePath As String
Dim intCount As Integer
Dim strHold
strFilePath = "C:\temp\TEST.csv"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Import", dbOpenForwardOnly)
intFile = FreeFile
Open strFilePath For Output As #intFile
Do Until rst.EOF
For intCount = 0 To rst.Fields.Count - 1
strHold = strHold & rst(intCount).Value & "|"
Next
If Right(strHold, 1) = "|" Then
strHold = Left(strHold, Len(strHold) - 1)
End If
Print #intFile, strHold
rst.MoveNext
strHold = vbNullString
Loop
Close intFile
rst.Close
Set rst = Nothing
End Function
步驟2碼
Sub deleterows()
lastrow = Cells(Rows.Count, 4).End(xlUp).Row
For i = lastrow To 1 Step -1
If Cells(i, 4).Value < Date Then Rows(i).EntireRow.Delete
Next i
End Sub
注我不喜歡使用Windows計劃在一定時間運行宏。
我很好的參考,一直至今Is it possible to automatically input VBA code when a new sheet is generated? & Dynamically insert macro into a new excel workbook & https://support.microsoft.com/en-us/kb/219905
我會盡我所能來響應!請留下澄清意見。謝謝!
(a)你不能有VBA的CSV文件 - 一個CSV文件是一個簡單的文本文件。 (b)不用通過宏刪除行,爲什麼你不打擾寫這些記錄到原始的CSV文件? (c)我只注意到你的文件不是CSV文件,它是一個帶有CSV擴展名的管道分隔文件。 – YowE3K
@ YowE3K感謝您的評論!由於它是一個與Access連接的SQL服務器,因此我不可能編輯它。 –
所以你不能編輯「第1步」的代碼?它不是Access VBA? – YowE3K