Tạo danh sách ngày (Microsoft Word)
Đối với một số tài liệu, sẽ rất hữu ích khi có một danh sách ngày tháng mà bạn có thể sử dụng làm cơ sở cho công việc của mình. Ví dụ: bạn có thể phải tạo một báo cáo liệt kê tất cả các ngày từ bây giờ đến cuối năm, cùng với tên của một người hoặc tên dự án ở bên phải ngày đó.
Điểm bắt đầu, tất nhiên, là lấy danh sách các ngày.
Có một số cách bạn có thể tiếp cận để tạo danh sách. Một phương pháp đơn giản là sử dụng Excel kết hợp với Word. Tính năng Tự động điền của Excel giúp tạo danh sách ngày tháng dễ dàng một cách đáng kinh ngạc. Sau khi có danh sách trong Excel, bạn có thể sao chép và dán danh sách đó vào tài liệu Word hoặc bạn có thể sử dụng phối thư để hợp nhất ngày tháng vào tài liệu (nếu cách tiếp cận đó phù hợp với nhu cầu của bạn).
Nếu bạn không muốn sử dụng Excel vì lý do nào đó, giải pháp tốt nhất là sử dụng macro. Macro sau đây rất nhanh chóng tạo ra một danh sách tất cả các ngày cho năm 2021:
Sub PrintYearDays() Dim DateToday As Date Dim T As Integer 'Because the date is going to be changed, save it DateToday = Date Date = #12/31/2020# For T = 1 To 365 Selection.TypeText Text:=Format(Date + T, _ "mmmm dd yyyy") Selection.TypeParagraph Next T 'Restore today's date Date = DateToday End Sub
Lưu ý rằng macro hoạt động bằng cách đặt lại ngày trên hệ thống của bạn.
Ngày hiện tại của ngày hôm nay được lưu trữ trong biến DateToday và sau đó ngày được đặt lại thành ngày bắt đầu cho phạm vi của bạn. Nếu bạn muốn macro hoạt động trong một số phạm vi ngày khác, chỉ cần thay đổi ngày bắt đầu, cùng với giá trị kết thúc của vòng lặp For … Next.
Nếu bạn cần tạo danh sách ngày và bạn chưa bao giờ biết ngày bắt đầu và ngày kết thúc trong phạm vi sẽ như thế nào, thì một cách tiếp cận macro khác sẽ có ý nghĩa hơn. Macro sau đây hỏi bạn cả ngày bắt đầu và ngày kết thúc:
Sub ListDates() Dim ListDate as Date Dim StartDate As Date Dim EndDate As Date Dim Repeats As Integer 'Gets user input StartDate = InputBox("Please enter the starting date.", _ "Start Date", "Start Date") EndDate = InputBox("Please enter the ending date.", _ "End Date", "End Date") 'Enters the start date in the document Selection.TypeText Text:=Format(StartDate, _ "dddd, MMMM dd, yyyy") Selection.TypeText (vbCr & vbLf) 'Determines the number of dates to print Repeats = DateDiff("d", StartDate, EndDate) 'Loops to print the list of dates For i = 1 To Repeats ListDate = DateAdd("d", i, StartDate) Selection.TypeText Text:=Format(ListDate, _ "dddd, MMMM dd, yyyy") Selection.TypeParagraph Next i End Sub
Các biến StartDate và EndDate, do đầu vào của bạn đặt, xác định số lần lặp lại vòng lặp For … Next.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.
(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (13155) áp dụng cho Microsoft Word 2007, 2010, 2013, 2016, 2019 và Word trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Word tại đây: