Trong topic này tôi sẽ trình bày các bước để các bạn làm quen dần với thiết kế Tool.
Mục đích Tool lần này là chuyển nội dung từ Word vào File Form PowerPoint đã được thiết kế sẵn.
Như vậy từ mục đích yêu cầu của bài toán, tôi sẽ cần hai nút bấm để chọn file.
Đoạn code để chọn file có thể tham khảo code dưới đây:
Vì lần này select file .ppt và .doc nên trong code trên ta cần chỉnh lại phần định dạng file.
Để không làm thay đổi nội dung file ban đầu, chúng ta nên
Code tham khảo:
Việc copy file gốc không phải là nội dung bắt buộc trong thiết kế một chương trình. Tùy vào mức độ quan trọng của file mình thao tác mà đưa vào. Thao tác cũng không có khó khăn gì nên tôi lựa chọn copy file.
Tên file sẽ thay đổi một chút, ví dụ có thể thêm _tmp tuy nhiên nếu tool chạy đi chạy lại nhiều lần thì vô tình sẽ tạo ra các file có tên giống nhau. Do đó ta sẽ dựa vào thời gian để đưa thêm vào tên file cho phù hợp. Tôi thường sử dụng đoạn code này:
Chúng ta nối strDate vào tên file ban đầu là được.
Mục đích Tool lần này là chuyển nội dung từ Word vào File Form PowerPoint đã được thiết kế sẵn.
Như vậy từ mục đích yêu cầu của bài toán, tôi sẽ cần hai nút bấm để chọn file.
Bạn cần đăng nhập để thấy đính kèm
Đoạn code để chọn file có thể tham khảo code dưới đây:
Mã:
Function select_file(ByVal tieude As String) As String
' Dim fso As Object
' Set fso = CreateObject("Scripting.FileSystemObject")
Dim fd As Office.FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = False
' Set the title of the dialog box.
.Title = tieude
' Clear out the current filters, and add our own.
.Filters.Clear
.Filters.Add "Excel File", "*.xls?"
'.Filters.Add "All Files", "*.*"
' Show the dialog box. If the .Show method returns True, the
' user picked at least one file. If the .Show method returns
' False, the user clicked Cancel.
If .Show = True Then
select_file = .SelectedItems(1) 'replace txtFileName with your textbox
End If
End With
Set fd = Nothing
End Function
Để không làm thay đổi nội dung file ban đầu, chúng ta nên
Bạn cần đăng nhập để thấy link
ra một bản sao, trước khi tiến hành thay đổi nội dung.Code tham khảo:
Mã:
Sub test68()
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
''Copy file C:\Work\Book1.xlsx cất vào thư mục C:\Tmp
FSO.GetFile("C:\Work\Book1.xlsx").Copy "C:\Tmp\"
''Copy file C:\Work\Book1.xlsx cho vào thư mục
'' và đổi tên file là Report.xlsx
FSO.GetFile("C:\Work\Book1.xlsx").Copy "C:\Tmp\Report.xlsx"
Set FSO = Nothing
End Sub
Bạn cần đăng nhập để thấy đính kèm
Tên file sẽ thay đổi một chút, ví dụ có thể thêm _tmp tuy nhiên nếu tool chạy đi chạy lại nhiều lần thì vô tình sẽ tạo ra các file có tên giống nhau. Do đó ta sẽ dựa vào thời gian để đưa thêm vào tên file cho phù hợp. Tôi thường sử dụng đoạn code này:
Mã:
strDate = Format(Now, "ddmmyyhmmss")