Nếu bạn muốn soạn thảo code trên notepad và các file excel khác sẽ lấy code từ file notepad bên ngoài. Mình có thể gợi ý cho bạn một vài đoạn code như sau:
Copy code sau vào các file excel người dùng
[GPECODE=vb]
'Giả sử các code bạn muốn cập nhật được để trong 1 module riêng có tên là Custom_Code
'-----
'Xóa module tên là Custom_Code
Sub DeleteMod()
Dim VBACom As VBComponent
On Error GoTo MyExit
For Each VBACom In ThisWorkbook.VBProject.VBComponents
If VBACom.Name = "Custom_Code" Then
ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("Custom_Code")
End If
Next
MyExit:
Set VBACom = Nothing
End Sub
'Thêm module và đặt tên là Custom_Code
Sub AddMod()
Dim VBACom As VBComponent
Set VBACom = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule)
VBACom.Name = "Custom_Code"
Application.Visible = True
Set VBACom = Nothing
End Sub
'Thêm code lấy từ file notepad, ví dụ là file tại D:/Dulieu.txt, cho vào module Custom_Code
Sub AddCode()
Dim VBACode As CodeModule
Dim LineNo As Long, MyCode As String
Set VBACode = ThisWorkbook.VBProject.VBComponents("Custom_Code").CodeModule
With VBACode
LineNo = .CountOfLines + 1
MyCode = CodeText("D:\Dulieu.txt")
.InsertLines LineNo, _
" " & MyCode
End With
Set VBCodeMod = Nothing
End Sub
'--------------
Sub CreateCode()
Call DeleteMod
Call AddMod
Call AddCode
MsgBox "Create Complete"
End Sub
'--------------
Sub DeleteCode()
Call DeleteMod
MsgBox "Delete Complete"
End Sub
'-------------
'Hàm lấy chuỗi dữ liệu từ file notepad bên ngoài.
Public Function CodeText(sFile As String) As String
Dim fnum As Integer
Dim sTemp As String
fnum = FreeFile()
Open sFile For Input As fnum
While Not EOF(fnum)
Line Input #fnum, sTemp
CodeText = CodeText & sTemp & Chr(13)
Wend
Close fnum
End Function
[/GPECODE]