cách đưa một bài hát có sẵn trong máy tính lên file excel bằnglaaop trình.

  • Thread starter Thread starter khoavu87
  • Ngày gửi Ngày gửi
Liên hệ QC

khoavu87

Vũ Trần Khoa
Tham gia
5/3/09
Bài viết
1,311
Được thích
1,769
Nghề nghiệp
Kỹ Sư Xây dựng cầu đường
em đang có ý tưởng là. khi mở một file ex lên , có nút commanbutton nhấn vào nút đó thì hiện lên một bài hát trong forder nào đó trong máy tính và nó có thể hát được. mong mọi người chỉ giáo
 
Bạn thử đoạn code này nhé.
Mã:
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Sub OpenFile(filename As String)
    ShellExecute 0, "Open", filename, "", "", 1
End Sub
Sub Exam()
    OpenFile ([COLOR=Red]"D:\Music\LaDo.mp3"[/COLOR])
End Sub
 
Upvote 0
em đang có ý tưởng là. khi mở một file ex lên , có nút commanbutton nhấn vào nút đó thì hiện lên một bài hát trong forder nào đó trong máy tính và nó có thể hát được. mong mọi người chỉ giáo
- Vẽ 1 CommandButton lên bảng tính
- Double Click vào CommandButton và chèn code này vào:
PHP:
Private Declare Function mciSendString Lib "winmm.dll" Alias _
        "mciSendStringA" (ByVal lpstrCommand As String, ByVal _
        lpstrReturnString As String, ByVal uReturnLength As Long, _
        ByVal hwndCallback As Long) As Long
Private mp3File As String
PHP:
Private Sub CommandButton1_Click()
  Dim Check As Boolean
  Check = (CommandButton1.Caption = "Play")
  If Check Then mp3File = Application.GetOpenFilename("Music Files (*.mp3), *.mp3")
  PlayMP3 Check
  CommandButton1.Caption = IIf(Check, "Stop", "Play")
  If mp3File = "False" Then CommandButton1.Caption = "Play"
End Sub
PHP:
Private Sub PlayMP3(isPlaying As Boolean)
  If isPlaying Then
    Call mciSendString("Open """ & mp3File & """ Alias MM", 0, 0, 0)
    Call mciSendString("Play MM", 0, 0, 0)
  Else
    Call mciSendString("Stop MM", 0, 0, 0)
    Call mciSendString("Close MM", 0, 0, 0)
  End If
End Sub
- Thoát chế độ Design Mode rồi bấm CommandButton xem thử
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Chào bạn NDU
PHP:
Private Sub CommandButton1_Click()
Dim Check As Boolean
Check = (CommandButton1.Caption = "Play")
If Check Then mp3File = Application.GetOpenFilename("Music Files (*.mp3), *.mp3")
PlayMP3 Check
CommandButton1.Caption = IIf(Check, "Stop", "Play")
If mp3File = "False" Then CommandButton1.Caption = "Play"
End Sub



Bạn kiểm tra lại giúp , nó báo lỗi ở chỗ PlayMP3
Cảm ơn
 
Lần chỉnh sửa cuối:
Upvote 0
Chào bạn NDU
PHP:
Private Sub CommandButton1_Click()
Dim Check As Boolean
Check = (CommandButton1.Caption = "Play")
If Check Then mp3File = Application.GetOpenFilename("Music Files (*.mp3), *.mp3")
PlayMP3 Check
CommandButton1.Caption = IIf(Check, "Stop", "Play")
If mp3File = "False" Then CommandButton1.Caption = "Play"
End Sub



Bạn kiểm tra lại giúp , nó báo lỗi ở tô đậm
Cảm ơn
Cụ thể là báo lỗi chổ nào?
 
Upvote 0
File chạy được nhưng copy code thì báo lỗi như trên , chưa biết nguyên nhân thế nào
 
Upvote 0
Vâng , đã phát hiện ra rồi , là phải dán nó vào sheet có nút CommandButton
Cảm ơn bạn
 
Upvote 0
Vâng , đã phát hiện ra rồi , là phải dán nó vào sheet có nút CommandButton
Cảm ơn bạn
Ẹc... Ẹc... Tôi đã lường trước điều này nên mới có đoạn:
- Double Click vào CommandButton và chèn code này vào:
Vậy mà bạn lại chẳng làm giống như chổ màu đỏ tôi đã hướng dẫn
Tại sao phải Double Click? Để code ta đặt luôn đúng chổ
---------------
Nói thêm 1 tí về ưu điểm của code này: Nó sẽ phát ngầm 1 bài mp3 nào đó chứ không mở bất cứ 1 trình Player nào ---> Thế mới ngon chứ
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy muốn chạy nhiều file thì sử dụng như thế nào ah. Vì bản thân nó chỉ có thể chạy từng file. Khi chạy xong lại mở lại từ đâu.
 
Upvote 0
công thức chia tổng số lượng thành các số lượng bằng nhau

Xin chào tất cả các thành viên,
mọi người giúp mình làm công thức để từ số liệu ở sheet dữ liệu có được kết quả ở sheet kết quả

Cam on moi nguoi
 

File đính kèm

Upvote 0
Ẹc... Ẹc... Tôi đã lường trước điều này nên mới có đoạn:

Vậy mà bạn lại chẳng làm giống như chổ màu đỏ tôi đã hướng dẫn
Tại sao phải Double Click? Để code ta đặt luôn đúng chổ
---------------
Nói thêm 1 tí về ưu điểm của code này: Nó sẽ phát ngầm 1 bài mp3 nào đó chứ không mở bất cứ 1 trình Player nào ---> Thế mới ngon chứ
chào bác, em có dùng code như của bác để bật và tắt 1 bài mp3; tuy nhiên em gặp hiện tượng là khi lần đầu ấn bật: thì bị trễ cỡ 2s mới chạy nhạc, còn lần sau ấn thì bật luôn, tuy nhiên để cách 1 vài phút không bật tắt liên tục, thì lần bật trở lại nó lại bị trễ như vậy, vậy là bị sao bác nhỉ?
CODE:
CommandButton3.Caption = IIf(CommandButton3.Caption = "Play", "Stop", "Play")
PlayMP3 ThisWorkbook.Path & sound_qt, (CommandButton3.Caption = "Play")
 
Upvote 0
Ẹc... Ẹc... Tôi đã lường trước điều này nên mới có đoạn:

Vậy mà bạn lại chẳng làm giống như chổ màu đỏ tôi đã hướng dẫn
Tại sao phải Double Click? Để code ta đặt luôn đúng chổ
---------------
Nói thêm 1 tí về ưu điểm của code này: Nó sẽ phát ngầm 1 bài mp3 nào đó chứ không mở bất cứ 1 trình Player nào ---> Thế mới ngon chứ
bác xem giúp em với
 
Upvote 0
hi, các bác xem giúp em với ah
Bạn thử PlayVideo.xls của tôi ở bài #3 xem. Chọn nhạc để nghe hoặc phim để xem.
 
Upvote 0
Bạn thử PlayVideo.xls của tôi ở bài #3 xem. Chọn nhạc để nghe hoặc phim để xem.
chào bác, em đã thử file bác gửi, tuy nhiên vẫn bị lỗi trễ ~2.5s ở lần đầu bật đầu tiên hoặc sau 10p mới bật lại ; khi ấn thì cái nút play nó bị tụt xuống, và khi nào lên nhạc nó mới nổi lên được. Bác có gặp trường hợp này không? hiện em cần ấn nút là nó chạy ngay các lệnh khác của em, khi em cho dòng bật nhạc mp3 là chương trình của e bị trễ lại ~2.5s rồi mới chạy tiếp được, haizzz, các bác xem giúp em với
1576312231305.png
 
Upvote 0
chào bác, em đã thử file bác gửi, tuy nhiên vẫn bị lỗi trễ ~2.5s ở lần đầu bật đầu tiên
Không có cái gì sảy ra tức thì được.
hoặc sau 10p mới bật lại ;
Ý bạn nói là bạn đóng Form và sau 10 phút mở lại? Hay là bạn không đóng Form mà chỉ nhấn STOP rồi sau 10 phút nhấn "Open Media"?
khi ấn thì cái nút play nó bị tụt xuống, và khi nào lên nhạc nó mới nổi lên được.
Tức khi nào nhạc bắt đầu phát? Cái MP3 của bạn lớn cỡ nào? Cũng phải mất thời gian load chứ. Bạn thử mở bằng một chương trình phát nhạc, vd. Windows Media Player, xem có bị trễ không. Không phải tức thì mà mọi cái xuất hiện trong memory được
Bác có gặp trường hợp này không? hiện em cần ấn nút là nó chạy ngay các lệnh khác của em, khi em cho dòng bật nhạc mp3 là chương trình của e bị trễ lại ~2.5s rồi mới chạy tiếp được, haizzz, các bác xem giúp em với
Bạn nên nhớ là bạn chỉ nhấn nút Close duy nhất 1 lần trước khi đóng Form. Hoặc không nhấn cũng được vì code trong Sub UserForm_Terminate làm việc này.
Khi bạn muốn phát mới thì nhấn "Open Media", khi muốn kết thúc bản nhạc hiện hành thì nhấn Stop. Nút Close chỉ nhấn 1 lần duy nhất.

Bạn tải tập tin tôi đính ở dưới rồi test 2 lần:
1. Chạy thử lần 1.

2. Thay Sub UserForm_Initialize cũ bằng
Mã:
Private Sub UserForm_Initialize()
    hForm = FindWindow("ThunderDFrame", vbNullString)
    OpenMedia "c:\CafeSuaNong.wmv"
End Sub

Tất nhiên phải thay c:\CafeSuaNong.wmv bằng đường dẫn tới tập tin Audio hoặc Video nào đó của bạn.

Chạy thử lần 2
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom