XIN ANH CHỊ GIÚP ĐỠ HƯỚNG DẪN CHUYỂN VĂN BẢN THÀNH GIỌNG NÓI TRONG EXCEL Ạ. (3 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài
File đính kèm ở trên là tôi làm trên file bạn gửi đó.

Nhớ mở loa lên nghe nhé.

Tiền bối ơi, em làm được rồi ạ, vui lắm lắm luôn. Cảm ơn tiền bối x100 lần ạ. Nhưng trong quá trình làm theo hướng dẫn của tiền bối, em lại thấy có phát sinh nho nhỏ 1 vấn đề, rất mong tiền bối giải đáp giúp ạ. Nội dung thắc mắc em để trong file đính kèm nha tiền bốiiiii ơi

Mong tiền bối chỉ đường dẫn lối. Cảm ơn vì tiền bối vẫn ở đây, vẫn kiên nhẫn giảng giải cho em hiểu. Rất rất cảm ơn tiền bối ạ.(@$%@
 

File đính kèm

Lần chỉnh sửa cuối:
Tiền bối ơi, em làm được rồi ạ, vui lắm lắm luôn. Cảm ơn tiền bối x100 lần ạ. Nhưng trong quá trình làm theo hướng dẫn của tiền bối, em lại thấy có phát sinh nho nhỏ 1 vấn đề, rất mong tiền bối giải đáp giúp ạ. Nội dung thắc mắc em để trong file đính kèm nha tiền bốiiiii ơi

Mong tiền bối chỉ đường dẫn lối. Cảm ơn vì tiền bối vẫn ở đây, vẫn kiên nhẫn giảng giải cho em hiểu. Rất rất cảm ơn tiền bối ạ.(@$%@
0. Nếu có MP3 trên đĩa thì code lấy từ đĩa. Nếu chưa có thì code mới tải về từ internet - code tự chọn Offline hoặc Online.

1. Sửa trong công thức cột I: $B$3:$C$18 thành $B$3:$C$1000

2. Để có thể đọc tên sản phẩm khi nhập dữ liệu mới ở bảng gốc thì phải nhập theo thứ tự cột C xong mới nhập cột B (khi bắn MSP vào cột H thì công thức ở cột I phải tìm được TSP ở cột C), vd. nhập C50 -> nhập B50

3. code mới trong Sheet1. Đọc kỹ các chú thích để hiểu.
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lastRow As Long, dong As Long, filename As String, cell As Range
'    On Error GoTo ErrHandler
    
    If Target.Count > 1 Or Target.Row < 3 Or (Target.Column <> 2 And Target.Column <> 8) Then Exit Sub  ' chi xet cac cell thuoc B hoac H khi dong >= 3
    
    If Target.Column = 2 Then   ' co su thay doi o cot B
        If Target.Offset(0, 1).Value <> "" Then
            lastRow = Me.Range("H" & Rows.Count).End(xlUp).Row  ' dong cuoi o cot H
            Set cell = Me.Range("H3:H" & lastRow).Find(Target.Value, , xlValues, xlWhole, xlByColumns, xlNext)
            If cell Is Nothing Then     '   ma moi nhap trong cot B chua co trong cot H
                dong = lastRow + 1
            Else    '   ma moi nhap trong cot B chua co trong cot H
                dong = cell.Row
            End If
            Me.Range("H" & dong).Value = Target.Value        ' (A) muc dich de say ra su kien Worksheet_Change, lan nay la o cot H -> se doc ma
        End If
    Else    '   su thay doi o cot H. Khi ma duoc nhap tu cot B sang H, de co the doc tieng o cot I thi ten san pham o cot C phai duoc nhap truoc khi nhap ma o cot B
        If Target.Value <> "" Then  '   neu la xoa ma thi khong lam gi
            If CreateObject("Scripting.FileSystemObject").FileExists(ThisWorkbook.Path & "\" & Target.Value & ".mp3") Then     ' da co tap tin MP3
                DocSP_Offline Target.Value
            Else        '   chua co MP3
                strTempFileName = ThisWorkbook.Path & "\" & Target.Value & ".mp3"
                DocSanPham_Online Target.Offset(0, 1).Value     ' tai ve MP3 voi noi dung o cot I va doc
            End If
        End If
    End If
    
'CleanExit:
'    Application.EnableEvents = True
'    Exit Sub
'
'ErrHandler:
'    MsgBox "Đă xay ra loi: " & Err.Description
'    Resume CleanExit
    
    
End Sub

4. Trong module modTextToSpeech sửa thành
Option Explicit

Public strTempFileName As String


Trong Sub GetTTS xóa dòng: strTempFileName = Environ$("temp") & "\translate_tts.mp3"
 
Web KT

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

Back
Top Bottom