Gian hàng bán Rao vặt Hỏi đáp Thêm
Ứng dụng Thông báo Hỗ trợ Đăng ký Đăng nhập
1 thành viên trả lời
connanbh Trả lời cuối cùng: 10/03/2009
Thành viên tích cực nhất

anhcuong83vn

1 lượt cảm ơn

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

Binhlt2611

10/03/2009 - 15:59
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+.

Vui lòng đăng nhập ID VATGIA để gửi trả lời của bạn

connanbh

10/03/2009 - 16:00
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).