Chụp hình cái Logo và Kèm theo cái File muốn làm đưa lên đây.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
Vậy, chắc lúc đó xỉn quả anh đọc ba chớp, ba nháng.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
View attachment 220591
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.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
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 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.
Em bị lỗi như này ah. anh xem giúp em với.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 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.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 ạ.
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
Em cảm ơn anh ah.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
k là kèm (tiếng Tây: and/alongside)...
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ó.
May quá, gặp được polyglot.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)
Chắc chắn không phải ngôn ngữ "nhà thơ" đâu bác ơi.May quá, gặp được polyglot.
Nhưng tôi vẫn chưa hiểu "nhà thơ" muốn truyền đạt cái gì.
Êêê, 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.Đâ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.