Sửa code tự động co dãn cột listview

Liên hệ QC

chucuoi92

Thành viên lười biếng
Tham gia
11/9/09
Bài viết
850
Được thích
488
Giới tính
Nam
Nghề nghiệp
Chăn trâu
Chào các Anh,Chị
Máy tính của em dùng 2 bộ office 2010 32bit và 2019 64bit
Em có tìm được đoạn code tự động co dãn cột trên listview, nhưng chỉ dùng được trên bản 2010 còn 2019 thì không được.
Anh chị nào giúp em sửa code để có thể dùng được trên cả 2 không ạ.
Mã:
Private Declare Function SendMessage Lib "user32" Alias _
    "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
    ByVal wParam As Long, lParam As Any) As Long
Private Const LVM_FIRST = &H1000   

Public Sub LV_AutoSizeColumn(LVE As ListView, Optional Column _
 As ColumnHeader = Nothing)
 
 Dim C As ColumnHeader
 If Column Is Nothing Then
  For Each C In LVE.ColumnHeaders
   SendMessage LVE.hWnd, LVM_FIRST + 30, C.Index - 1, -1
  Next
 Else
  SendMessage LVE.hWnd, LVM_FIRST + 30, Column.Index - 1, -1
 End If
 LVE.Refresh
End Sub
 
Thử sửa
Private Declare Function SendMessage
Thành
Private Declare PtrSafe Function SendMessage
 
Upvote 0
PHP:
#If VBA7 Then
    Private Declare PtrSafe Function SendMessage Lib "USER32" Alias "SendMessageA" _
        (ByVal hwnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, lParam As Any) As LongPtr
#Else
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
        (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
#End If
 
Upvote 0
PHP:
#If VBA7 Then
    Private Declare PtrSafe Function SendMessage Lib "USER32" Alias "SendMessageA" _
        (ByVal hwnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, lParam As Any) As LongPtr
#Else
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
        (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
#End If
Cám ơn anh.
em đã thử trước cái này rồi, nhưng nó tậm tịt mới hỏi trên này.
(tậm tịt: không báo lỗi, nhưng cột thì không thấy co dãn mà trên LV chỉ còn mỗi một cột cuối, độ rộng cột thì vô bờ bến)
Hôm nay mở thì lại ok trên cả 2 office
 
Upvote 0
Web KT
Back
Top Bottom