Tặng công cụ nghe nhạc MP3 với VBA. (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Hoàng Trọng Nghĩa

Chuyên gia GPE
Thành viên BQT
Moderator
Tham gia
17/8/08
Bài viết
8,662
Được thích
16,720
Giới tính
Nam
Qua nay rảnh rỗi sinh nông nổi, ngồi viết cả đêm không ngủ để có đồ chơi này. Xin đừng so sánh với các công cụ nghe nhạc có sẳn như Media Player hoặc nhúng nó vào Excel, mọi sự so sánh đều khập khiểng. Ở đây mô phỏng cái na ná như thế để tặng mọi người giải trí khi trà dư tửu hậu. Có thể viết code còn rườm rà, nhưng đã cố gắng hết sức rồi.

Với các dạng nhạc, để cho chúng chạy hết một cái list tôi nghĩ là cả một vấn đề, nhưng sau khi xem file này các bạn sẽ cảm thấy dễ dàng thực hiện điều đó.


attachment.php


Khi tải file về, mở file thì nó ló cái mặt nó ra như trong hình đấy (nhưng chưa có đường dẫn, chưa có list nhạc đâu nha).

Bấm vào nút Tìm Thư Mục và chọn một thư mục nào đó có chứa nhạc với đuôi *mp3.

Bấm nút Tải Tên Bài Hát, lúc này list nhạc nó mới hiện lên xanh lè như cái hình.

(Sau khi đã có list nhạc, đường dẫn, lần mở sau, đảm bảo nó hiện lên như vậy luôn, khỏi bấm biếc gì hết, trừ khi muốn tìm thư mục nhạc khác).

Nếu muốn chơi chỉ 1 bài, check vào nút Chơi một bài, sau đó bấm Chơi Nhạc, nó chạy hết bản nhạc là nó dừng, còn không thì đừng check, nó sẽ chơi hết list nhạc.

Khi nó chơi đến bản nhạc nào thì ListBox nó sẽ hiển thị select tại bài đó.

Nếu muốn Volume lớn nhỏ? Thanh scrollbar nằm ngang sẽ giải quyết được vấn đề.

Đang nghe nhạc có điện thoại? Mute đó mà check vô!

Dĩ nhiên cũng như các Player chuyên nghiệp, cái tên này nó cũng có nút Tạm Ngưng sau khi ta bấm Chơi Nhạc, muốn chạy tiếp chỉ việc bấm lại nút đó.

Và khi muốn nghe bản nhạc nào trong list, chỉ cần double click vào nó là xong!

Thôi, quảng cáo nhiều quá, xem file đi các bạn ơi.

P/s: Trong file có mượn một hàm tự tạo của Thầy ndu96081631: FilesFoldersList, xin cám ơn Thầy.

''===========================================================

VBA Password là HoangTrongNghia.

Update file mới nhất: VBA_Player_V.5.xla

attachment.php


Cập nhật các mục:

- Tạo file AddIn để chạy nhạc, không tự động show form, tạo ToolBar trên Menu hoặc Ribbon, muốn chơi thì click.

attachment.php


- ComboBox list các thư mục chứa nhạc, tự động xóa những thư mục không chứa nhạc *mp3

- Bài đang hát - Tên ca sĩ

- Thanh trạng thái vị trí bản nhạc, kéo phải kéo trái nhạc sẽ chạy ở vị trí đó.

- Bit rate.
 

File đính kèm

Lần chỉnh sửa cuối:
Tiêu chí của anh Nghĩa là: mở file lên và đi ngủ hoặc làm việc khác, không chơi với Excel nữa --=--
 
Upvote 0
em đề xuất gọi sub cmdLoadSongs_Click luôn ngay khi bấm nút OK ở dialog folder để đỡ phải tốn thêm 1 lần ấn nút Load Song hi hi
 
Upvote 0
Em đề xuất thêm OptionButton Random Play, chịu khó mất ngủ thêm đêm nữa đi anh --=0
 
Upvote 0
Em đề xuất thêm OptionButton Random Play, chịu khó mất ngủ thêm đêm nữa đi anh --=0
Cái này dễ, không khó tí nào, nhưng từ từ ta làm hen! Giờ giải quyết cái bài này trước nè!

em đề xuất gọi sub cmdLoadSongs_Click luôn ngay khi bấm nút OK ở dialog folder để đỡ phải tốn thêm 1 lần ấn nút Load Song hi hi

Thể theo yêu cầu, một nút lệnh duy nhất! Thêm một bổ sung nhỏ xíu, nhưng không nhỏ, đó là khi show form với thuộc tính showmodal là False để thao tác với các file Excel khác mà không bị chặn.

attachment.php
 

File đính kèm

Upvote 0
Càng tìm hiểu về excel càng thấy hoảng. Không biết bao giờ ms lên được bờ.
 
Upvote 0
Hahahaha, lúc đó ta mở nhạc êm dịu và du dương! --=0}}}}}

Hay lắm. Excel quả thực không hề khô khan ! @$@!^%@$@!^%

Trước hết xin cảm ơn anh Trọng Nghĩa đã tặng mọi người 1 tiện ích rất thú vị để thư giãn và giải trí và chúc anh có thật nhiều

sức khỏe để tiếp tục có những đóng góp bổ ích cho diễn đàn. Sau là em muôn hỏi khi mở File của anh lên làm thế nào để xem được

bên trong anh đã viết những gì ạ ( ý em là xem code hay gì gì đó bên trong ấy ạ) vì khi em mở File lên thì cái cửa sổ chơi nhạc này cứ

tự nhiên bung ra thôi ạ.




Capture.jpg
 
Upvote 0
Hay lắm. Excel quả thực không hề khô khan ! @$@!^%@$@!^%

Trước hết xin cảm ơn anh Trọng Nghĩa đã tặng mọi người 1 tiện ích rất thú vị để thư giãn và giải trí và chúc anh có thật nhiều

sức khỏe để tiếp tục có những đóng góp bổ ích cho diễn đàn. Sau là em muôn hỏi khi mở File của anh lên làm thế nào để xem được

bên trong anh đã viết những gì ạ ( ý em là xem code hay gì gì đó bên trong ấy ạ) vì khi em mở File lên thì cái cửa sổ chơi nhạc này cứ

tự nhiên bung ra thôi ạ.




View attachment 146826
đổi tên File thành file khác ... xong mở lại đừng bấm vào cái màu vàng...Enble Contents..
Thử gõ Chữ HoangTrongNghia Coi Nha(VBA)..............hahahaha--=0--=0
 
Lần chỉnh sửa cuối:
Upvote 0
đổi tên File thành file khác ... xong mở lại đừng bấm vào cái màu vàng...Enble Contents..
Thử gõ Chữ HoangTrongNghia Coi Nha(VBA)..............hahahaha--=0--=0
Hầu như các file anh HTN gửi lên đều dùng pass đó (nếu có), ai để ý sẽ biết, mà đâu cần đổi tên file phải không anh Mạnh?
 
Upvote 0
đổi tên File thành file khác ... xong mở lại đừng bấm vào cái màu vàng...Enble Contents..
Thử gõ Chữ HoangTrongNghia Coi Nha(VBA)..............hahahaha--=0--=0
Trùi ui, sao mà nhọc nhằn thế!

Mở 1 file Excel bấm Alt+F11 (mở VBA), bấm Ctrl+G (Immediate), gõ vào đó câu này:

Application.EnableEvents=False

Rồi Enter.

Sau đó mở file đó lên bình thường!


OK, luôn luôn VBA Password là HoangTrongNghia.
 
Upvote 0
Trùi ui, sao mà nhọc nhằn thế!

Mở 1 file Excel bấm Alt+F11 (mở VBA), bấm Ctrl+G (Immediate), gõ vào đó câu này:

Application.EnableEvents=False

Rồi Enter.

Sau đó mở file đó lên bình thường!


OK, luôn luôn VBA Password là HoangTrongNghia.

Chắc phải đổi tên File lại mới được bởi lần đầu mở lên em chót bấm vào dòng màu vàng Enable.... thế nên giờ tắt đi và mở lại File lên

là cái của sổ màu đen cứ hiện lên luôn. Em đổi tên File và không Enable nữa và bấm Alt+F11 thì vào xem được rồi. Tuy nhiên khi vào

đến cửa sổ VBA em thấy có 2 mục như thế này:

g.PNG

Trong đó thư mục bên dưới em dùng Pass anh cho thì mở được nhưng đến thư mục bên trên thì báo lỗi Invalid Password. Không biết tại

sao hả anh ?
 
Upvote 0
Chắc phải đổi tên File lại mới được bởi lần đầu mở lên em chót bấm vào dòng màu vàng Enable.... thế nên giờ tắt đi và mở lại File lên

là cái của sổ màu đen cứ hiện lên luôn. Em đổi tên File và không Enable nữa và bấm Alt+F11 thì vào xem được rồi. Tuy nhiên khi vào

đến cửa sổ VBA em thấy có 2 mục như thế này:

View attachment 146827

Trong đó thư mục bên dưới em dùng Pass anh cho thì mở được nhưng đến thư mục bên trên thì báo lỗi Invalid Password. Không biết tại

sao hả anh ?
Trùi ui, có liên quan gì đến Solver? Tại máy bạn đang mở nó đó chứ!
 
Upvote 0
Em đề xuất thêm OptionButton Random Play, chịu khó mất ngủ thêm đêm nữa đi anh --=0
Ngẫu nhiên thì có một phiên bản ngẫu nhiên đây:

Mã:
Private Sub RandomPlay()
    On Error Resume Next
    Dim i As Long, iRnd As Long
    With objPlayer
        If cmdPlay.Caption = priPlay Then
            cmdPlay.Caption = priPause
            If .Playstate = 2 Then
                GoTo ResumePlaying
            End If
        Else
            cmdPlay.Caption = priPlay
            .Controls.Pause
            Exit Sub
        End If
Continue:
        If priNgauNhien Then
            .URL = priArrList(lstSongList.ListIndex)
            For i = 0 To cbxRandom.ListCount - 1
                If cbxRandom.List(i) = lstSongList.ListIndex Then
                    cbxRandom.RemoveItem i
                    Exit For
                End If
            Next
            priNgauNhien = False
            GoTo ResumePlaying
        Else
            Randomize
            iRnd = Int((cbxRandom.ListCount - 1) * Rnd())
        End If
        If cbxRandom.ListCount = 0 Then
            Call cmdStop_Click
            Dim ArrTmp() As Long
            Dim n As Long, r As Long
            For r = 0 To UBound(priArrList)
                ReDim Preserve ArrTmp(0 To n)
                ArrTmp(n) = n
                n = n + 1
            Next
            cbxRandom.List = ArrTmp
            Exit Sub
        End If
        lstSongList.ListIndex = cbxRandom.List(iRnd)
        .URL = priArrList(lstSongList.ListIndex)
ResumePlaying:
        .Controls.Play
        Do
            DoEvents
            If priStopMusic Then
                cmdPlay.Caption = priPlay
                Exit Sub
            End If
            If ckbPlayOne Then
                Do
                    DoEvents
                Loop Until .Playstate = 1 Or objPlayer Is Nothing
                Call cmdStop_Click
                Exit Sub
            End If
        Loop Until .Playstate = 1 Or objPlayer Is Nothing
        cbxRandom.RemoveItem iRnd
        GoTo Continue
    End With
End Sub

Tải file VBA_Player_V.3 tại bài số 1 của topic này!
 

File đính kèm

  • Picture1.jpg
    Picture1.jpg
    34.2 KB · Đọc: 57
Upvote 0
Bổ sung một tí hoa hòe hoa sói: Thời lượng, Vị trí của một bản nhạc.

Tải file VBA_Player_V.4 tại bài số 1 của topic này!
 

File đính kèm

  • Picture1.jpg
    Picture1.jpg
    50.6 KB · Đọc: 57
Upvote 0
Hầu như các file anh HTN gửi lên đều dùng pass đó (nếu có), ai để ý sẽ biết, mà đâu cần đổi tên file phải không anh Mạnh?
Nếu File mình đã chạy Macros lần đầu tiên rồi thì lần sau mở lên là nó tự đông chạy ....đổi tên file để cho nó ko hiện form lên mà hiên File Excel lên xong Bấm Alt+F11 mà coi code thôi....hay làm theo cách khác...
 
Upvote 0
Nếu File mình đã chạy Macros lần đầu tiên rồi thì lần sau mở lên là nó tự đông chạy ....đổi tên file để cho nó ko hiện form lên mà hiên File Excel lên xong Bấm Alt+F11 mà coi code thôi....hay làm theo cách khác...

Vào macro setting, trong 4 mục chọn mục đầu tiên đó! Không cho thông báo, không chạy macro...
 
Upvote 0
Web KT

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

Back
Top Bottom