Thêm logo công ty vào userform trong excel VBA

Liên hệ QC

BOng map

Thành viên mới
Tham gia
28/6/19
Bài viết
11
Được thích
0
Các tiền bối giúp em với ah.
Em có 1 userform trong excel VBA, bgio em muốn thêm cái logo công ty vào caption của userform. Các tiền bối có cách nào chỉ giúp em với ah. Em muốn logo công ty để giống như biểu tượng của VBA đấy ah.
Mong các tiền bối chỉ giáo ah.
Em cảm ơn ah.
220571
 
Em là bê bối vào xin chỉ vài ngu giáo được không ;)
Có bạn vừa làm xong vấn đề này tối qua, bạn vào tham khảo:
Vẽ 1 icon có cái logo của cty, dùng tool gì đó mà nó lưu ra được file .ico. Rồi sữa code bạn kia lại, chổ ExtractIcon thành LoadIcon.
Khai báo API và code ra sao thì bạn ráng mày mò nhé, bê bối tui chỉ chỉ bạn được đường đi thôi, chứ không dắt bạn tới tận nơi 100% được ;)
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn anh đã chỉ ah.
Em sẽ tìm hiểu thêm. Ngoài ra, e có một vấn đề này mong anh chỉ giúp em.
1. Em có cái frame trong form có cách nào làm cái viền của frame như màu của form k ah. Vì e có chỉnh cái Border style = 1 thì nó ra màu đen.
2. Có cách nào để lưu lại giá trị trên form sau khi nhập vào bảng tính k ah. Bì sau khi xuất giá trị vào bảng tính thì các giá trị trên form đều bị mất. Giờ em muốn giữ giá trị đáy lại thì có cách nào k ah.
Mong anh chỉ giúp. Nếu có phiền thì mong anh bỏ qua ah.
Em cảm ơn ah.
 
Upvote 0
Chào bạn,
Vấn đề 2 bạn thử dành riêng 1 sheet để lưu các giá trị trên form.
Sau khi lưu dữ liệu vào bảng tính rồi ghi luôn dữ liệu đó vào sheet riêng.
Lúc mở form lại thì nạp giá trị từ sheet riêng đó lên form.
Hy vọng sẽ giúp được bạn!
 
Upvote 0
Các tiền bối giúp em với ah.
Em có 1 userform trong excel VBA, bgio em muốn thêm cái logo công ty vào caption của userform. Các tiền bối có cách nào chỉ giúp em với ah. Em muốn logo công ty để giống như biểu tượng của VBA đấy ah.
Mong các tiền bối chỉ giáo ah.
Em cảm ơn ah.
View attachment 220571
Chụp hình cái Logo và Kèm theo cái File muốn làm đưa lên đây.

A_Form.GIF
 
Upvote 0
Tới Anh @be09: Người ta muốn hiện Icon trên Caption của Form chứ không phải vẽ cái Image trên form rồi chèn hình vào như anh nghĩ đâu
220591
 
Upvote 0
Upvote 0
Không phải sửa ExtractIcon thành LoadIcon đâu.

Giả sử trên c:\ có tập tin logo.ico.

Code trong UserForm
Mã:
Option Explicit

Private Const WM_SETICON = &H80
    
#If VBA7 Then
    Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr      
    Private Declare PtrSafe Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As LongPtr, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As LongPtr
    Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr
#Else
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long      
    Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
#End If

Private Sub UserForm_Initialize()
#If VBA7 Then
    Dim lngIcon As LongPtr
    Dim lnghWnd As LongPtr
#Else
    Dim lngIcon As Long
    Dim lnghWnd As Long
#End If

    If Val(Application.Version) < 9 Then
        lnghWnd = FindWindow("ThunderXFrame", Caption)  'XL97
    Else
        lnghWnd = FindWindow("ThunderDFrame", Caption)  'XL2000
    End If
#If VBA7 Then
    lngIcon = ExtractIcon(Application.HinstancePtr, "c:\logo.ico", 0)
#Else
    lngIcon = ExtractIcon(Application.Hinstance, "c:\logo.ico", 0)
#End If
    
    SendMessage lnghWnd, WM_SETICON, 0, lngIcon
End Sub
 
Upvote 0
Option Explicit Private Const WM_SETICON = &H80 #If VBA7 Then Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr Private Declare PtrSafe Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As LongPtr, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As LongPtr Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr #Else Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long #End If Private Sub UserForm_Initialize() #If VBA7 Then Dim lngIcon As LongPtr Dim lnghWnd As LongPtr #Else Dim lngIcon As Long Dim lnghWnd As Long #End If If Val(Application.Version) < 9 Then lnghWnd = FindWindow("ThunderXFrame", Caption) 'XL97 Else lnghWnd = FindWindow("ThunderDFrame", Caption) 'XL2000 End If #If VBA7 Then lngIcon = ExtractIcon(Application.HinstancePtr, "c:\logo.ico", 0) #Else lngIcon = ExtractIcon(Application.Hinstance, "c:\logo.ico", 0) #End If SendMessage lnghWnd, WM_SETICON, 0, lngIcon End Sub
Em cảm ơn anh ah.
Anh ơi, cho e hỏi thêm là cái doạn code kia em cho vào máy chạy nhưng lại báo lỗi anh ah.
 
Upvote 0
Em cảm ơn anh ah.
Anh ơi, cho e hỏi thêm là cái doạn code kia em cho vào máy chạy nhưng lại báo lỗi anh ah.
Nếu chỉ là "báo lỗi" thì bó tay rồi. Ít ra cũng phải nói rõ lỗi gì, chụp ảnh. Nói rõ là chạy code ví dụ hay code đã sửa cho tập tin của mình. Vân vân và mây mây. Không cung cấp thông tin mà người ta không có quả cầu thủy tinh thì chịu.
 
Upvote 0
Nếu chỉ là "báo lỗi" thì bó tay rồi. Ít ra cũng phải nói rõ lỗi gì, chụp ảnh. Nói rõ là chạy code ví dụ hay code đã sửa cho tập tin của mình. Vân vân và mây mây. Không cung cấp thông tin mà người ta không có quả cầu thủy tinh thì chịu.
Em bị lỗi như này ah. anh xem giúp em với.220771lỗi chạy code.jpg
 
Upvote 0
Tức bạn đã tự làm trong tập tin của mình. Nhưng bạn chỉ bê một phần code của tôi. Hãy nhìn lại thì thấy tôi có khai báo FindWindow còn bạn thì ... Hoặc bạn không khai báo hoặc ở chỗ khác. Nếu muốn tôi sửa cho thì đính kèm tập tin. Có bột mới gột thành hồ bạn ạ.
 
Upvote 0
Tức bạn đã tự làm trong tập tin của mình. Nhưng bạn chỉ bê một phần code của tôi. Hãy nhìn lại thì thấy tôi có khai báo FindWindow còn bạn thì ... Hoặc bạn không khai báo hoặc ở chỗ khác. Nếu muốn tôi sửa cho thì đính kèm tập tin. Có bột mới gột thành hồ bạn ạ.
Em gửi a file của e. Anh xem chỉnh giúp em với ah. Em mới bập bẹ nên k hiểu lắm ah.
 

File đính kèm

  • COZEE_Ver.01B chuẩn 08.07.19 - Copy - Copy.xlsm
    234 KB · Đọc: 18
Upvote 0
Tôi mở tập tin của bạn (XP Home) thì bị lỗi nặng. Và trong UserForm tôi không thấy code mà bạn chụp ảnh. Vậy thì thử như sau: trước tất cả các code trong UserForm hãy dán code sau
Mã:
Private Const WM_SETICON = &H80
    
#If VBA7 Then
    Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr      
    Private Declare PtrSafe Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As LongPtr, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As LongPtr
    Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr
#Else
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long      
    Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
#End If

Nếu thành công thì hãy ho một tiếng để tôi biết.
Bài đã được tự động gộp:

Tôi đã kiểm tra trên máy khác. Không thấy ở đâu có code trong hình bạn chụp
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi mở tập tin của bạn (XP Home) thì bị lỗi nặng. Và trong UserForm tôi không thấy code mà bạn chụp ảnh. Vậy thì thử như sau: trước tất cả các code trong UserForm hãy dán code sau
Mã:
Private Const WM_SETICON = &H80
   
#If VBA7 Then
    Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr     
    Private Declare PtrSafe Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As LongPtr, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As LongPtr
    Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr
#Else
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long     
    Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
#End If

Nếu thành công thì hãy ho một tiếng để tôi biết.
Bài đã được tự động gộp:

Tôi đã kiểm tra trên máy khác. Không thấy ở đâu có code trong hình bạn chụp
Em cảm ơn anh ah.
NHưng anh ơi, k đk a ah
 
Upvote 0
Rất tiếc là tôi không giúp được.
Bạn chụp ảnh có code chèn ICON nhưng gửi tập tin thì lại không có bất cứ code nào như trong ảnh.

anhicon.JPG

Tôi không có và không biết sử dụng quả cầu thủy tinh nên trên cơ sở "k đk a ah" thì chịu. Chịu vì không có thông tin cụ thể, và chịu vì tôi cũng không biết 4 từ trên nghĩa là gì vì trong từ điển không có.
 
Lần chỉnh sửa cuối:
Upvote 0
...
Tôi không có và không biết sử dụng quả cầu thủy tinh nên trên cơ sở "k đk a ah" thì chịu. Chịu vì không có thông tin cụ thể, và chịu vì tôi cũng không biết 4 từ trên nghĩa là gì vì trong từ điển không có.
k là kèm (tiếng Tây: and/alongside)
đk là điều kiện (tiếng Tây: condition)
a là một biểu tượng đại diện của trạng thái hoặc vật thể trong toán học và khoa học.
ah là tiếng Trung, tương đương với từ "thằng cu" trong tiếng Việt. Ả Kiêu của Lỗ Tấn theo chính truyện là Ah Q.
(tại sao a trong khoa học tự nhiên lại đi với ah trong khoa học nhân văn thì tôi chịu, không giải thích được)
 
Upvote 0
k là kèm (tiếng Tây: and/alongside)
đk là điều kiện (tiếng Tây: condition)
a là một biểu tượng đại diện của trạng thái hoặc vật thể trong toán học và khoa học.
ah là tiếng Trung, tương đương với từ "thằng cu" trong tiếng Việt. Ả Kiêu của Lỗ Tấn theo chính truyện là Ah Q.
(tại sao a trong khoa học tự nhiên lại đi với ah trong khoa học nhân văn thì tôi chịu, không giải thích được)
May quá, gặp được polyglot. :D
Nhưng tôi vẫn chưa hiểu "nhà thơ" muốn truyền đạt cái gì.
 
Upvote 0
May quá, gặp được polyglot. :D
Nhưng tôi vẫn chưa hiểu "nhà thơ" muốn truyền đạt cái gì.
Chắc chắn không phải ngôn ngữ "nhà thơ" đâu bác ơi.
Theo lệ thì thi sĩ phải kéo dài lời ra. Điển hình 1 câu "anh yêu em, anh nhớ em" có thể kéo thành cả một bài hằng chục câu. Ngày xưa gởi bài lên báo ăn tiền thì người ta không dại gì viết tắt, tự bớt tiền thì lao của mình đi (!).
Đây là loại ngôn ngữ hoặc của sếp trên ra lệnh, cấp dưới có nhiệm vụ phải hiểu; hoặc của tình nhân nói chuyện với nhau, mấy cô bé đang yêu thì cậu kia nói gì cũng là vàng ngọc tuốt, cô bé tự hiểu theo kiểu của mình.
 
Upvote 0
Đây là loại ngôn ngữ hoặc của sếp trên ra lệnh, cấp dưới có nhiệm vụ phải hiểu; hoặc của tình nhân nói chuyện với nhau, mấy cô bé đang yêu thì cậu kia nói gì cũng là vàng ngọc tuốt, cô bé tự hiểu theo kiểu của mình.
Êêê, tôi cho là nhầm diễn đàn thôi. Nhiều khi đổi diễn đàn liên tục rồi không nhớ mình đang nói chuyện ở diễn đàn nào.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom