Tạo hyperlink trong mục lục của file Word và hướng dẫn viết macro ?

1. Làm thế nào để tạo hyperlink trong mục lục của file Word, khi nhấn sẽ nhảy đến phần nội dung tương ứng. 2. Xin hướng dẫn viết macro hoặc hàm trong Excel để khi nhập giờ chuẩn thế giới vào một ô thì nó quy đổi ra giờ VN ở một ô khác (nghĩa là giờ UTC+7 sẽ ra giờ VN), nếu sang ngày hôm sau thì thêm dấu + đứng sau. VD: 18.27h (UTC) thì ô chuyển đổi sẽ là 01.27+.
Con Nan
Con Nan
Trả lời 15 năm trước
1. Bạn có thể dùng khả năng hyperlink của Word để tạo mối liên kết siêu văn bản đến bất kỳ file nào hay đến bất kỳ vị trí nào trong tài liệu Word hiện hành. Qui trình điển hình tạo mối liên kết đến 1 vị trí trong tài liệu Word như sau: • dời chuột đến vị trí cần liên kết đến, chọn menu Insert.Bookmark, nhập tên bookmark nhận dạng vị trí rồi ấn button Add. • dời chuột đến vị trí cần tạo mối liên kết, chọn menu Insert.Hyperlink, ấn button Bookmark, duyệt và chọn tên bookmark cần liên kết đến, nhập chuỗi miêu tả mối liên kết rồi ấn OK. 2. Bạn có thể viết 1 hàm user-defined để giải quyết yêu cầu riêng của mình. Cụ thể bạn hãy tiến hành các thao tác sau: • chạy Excel, mở file Excel cần làm việc. • vào menu Tools.Macro.Visual Basic Editor để mở cửa sổ soạn code VBA. Ấn phải chuột trong cửa sổ Project, chọn menu Insert.Module để tạo ra Module VBA mới (tên mặc định là Module1) rồi nhập hàm TimeVn() như sau: 'hàm đổi chuỗi miêu tả giờ UTC theo định dạng hh:mm:ss thành giờ VN theo yêu cầu của bạn Public Function TimeVn(t As String) As String Dim i As Integer Dim l As String Dim r As String 'tìm vị trí ký tự : trong chuỗi i = InStr(1, t, ":") 'tách chuỗi miêu tả giờ l = Left(t, i - 1) 'tách phần còn lại r = Mid(t, i) 'đổi chuỗi miêu tả giờ thành số i = CInt(l) 'tăng giờ thêm 7 đơn vị j = (i + 7) Mod 24 'tạo chuỗi kết quả If i < j Then TimeVn = CStr(j) & r Else TimeVn = CStr(j) & r & "+" End If End Function 'hàm đổi giờ UTC (kiểu Date) thành chuỗi miêu tả giờ VN theo yêu cầu của bạn Public Function TimeVn1(d As Date) As String Dim t As String Dim i As Integer Dim l As String Dim r As String 'đổi giá trị thời gian thành chuỗi t = Format(d, "hh:mm:ss") 'tìm vị trí ký tự : trong chuỗi i = InStr(1, t, ":") 'tách chuỗi miêu tả giờ l = Left(t, i - 1) 'tách phần còn lại r = Mid(t, i) 'đổi chuỗi miêu tả giờ thành số i = CInt(l) 'tăng giờ thêm 7 đơn vị j = (i + 7) Mod 24 'tạo chuỗi kết quả If i < j Then TimeVn1 = CStr(j) & r Else TimeVn1 = CStr(j) & r & "+" End If End Function Sau khi đã viết xong hàm used-defined trên, bạn có thể gọi nó bất kỳ ở đâu và lúc nào trong khi đang làm việc trên file Excel hiện hành (giống y như gọi hàm sẵn có của Excel).