Giúp em lập trình VBA trong excel để dịch Anh Việt (1 người xem)

Liên hệ QC

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

kieuanh86

Thành viên mới
Tham gia
1/12/10
Bài viết
27
Được thích
3
Nghề nghiệp
Nhân viên hành chính
Chào cả nhà!
Em có một bài toán có thể coi là rất khó. Rất mong được cả nhà giúp đỡ.
Em có 1 file tác nghiệp excel bằng tiếng anh. Sếp của em muốn em viết code để dịch file văn bản đó ra tiếng việt một cách tự động mà không phải là dùng các phần mềm dịch như Lacviet, hay Evtran,.... Em đã tìm hiểu về ngôn ngữ lập trình VBA trong excel nhưng vẫn không có đáp án nào cho bài toán này. Em gửi file(đính kèm đó) cả nhà có ý tưởng gì giúp em với nhé!!!!
Các anh em IT pro ơi giúp em với nhé!
Tks cả nhà!!!!!
!!!!!!!!!!
 

File đính kèm

Chào cả nhà!
Em có một bài toán có thể coi là rất khó. Rất mong được cả nhà giúp đỡ.
Em có 1 file tác nghiệp excel bằng tiếng anh. Sếp của em muốn em viết code để dịch file văn bản đó ra tiếng việt một cách tự động mà không phải là dùng các phần mềm dịch như Lacviet, hay Evtran,.... Em đã tìm hiểu về ngôn ngữ lập trình VBA trong excel nhưng vẫn không có đáp án nào cho bài toán này. Em gửi file(đính kèm đó) cả nhà có ý tưởng gì giúp em với nhé!!!!
Các anh em IT pro ơi giúp em với nhé!
Tks cả nhà!!!!!
!!!!!!!!!!
Nhớ có lần tôi đã làm bài tương tự thế này rồi! Cách làm như sau:
- Tạo 1 bảng tra ANH - VIỆT (cái này tự ta soạn thảo)
- Viết code dùng phương thức Replace để thay thế (dựa vào bảng tra)
- Có thể duyệt qua nhiều file rồi Replace cùng lúc
---------------
Xem bài này: http://www.giaiphapexcel.com/forum/...-để-tạo-hàm-thay-thế-giống-Ctrl-H-cho-nhiều-ô
 
Upvote 0
Nhớ có lần tôi đã làm bài tương tự thế này rồi! Cách làm như sau:
- Tạo 1 bảng tra ANH - VIỆT (cái này tự ta soạn thảo)
- Viết code dùng phương thức Replace để thay thế (dựa vào bảng tra)
- Có thể duyệt qua nhiều file rồi Replace cùng lúc
---------------
Xem bài này: http://www.giaiphapexcel.com/forum/...-để-tạo-hàm-thay-thế-giống-Ctrl-H-cho-nhiều-ô
Cám ơn Pro ndu96081631 nhé! Có thể hướng dẫn em chi tiết hơn 1 chút được không ah!
Em mới bắt đầu học lập trình VBA nên chưa có nhiều kiến thức cho lắm. Vì đây là bài toán khó và cũng là nhiệm vụ quan trọng em phải hoàn thành. Giúp em nhé, em cám ơn rất nhiều!!!!
 
Upvote 0
Cám ơn Pro ndu96081631 nhé! Có thể hướng dẫn em chi tiết hơn 1 chút được không ah!
Em mới bắt đầu học lập trình VBA nên chưa có nhiều kiến thức cho lắm. Vì đây là bài toán khó và cũng là nhiệm vụ quan trọng em phải hoàn thành. Giúp em nhé, em cám ơn rất nhiều!!!!
Bạn chưa rành về lập trình thì tôi giúp bạn, OK! Nhưng như đã nói ở trên, bạn phải lập ra 1 danh mục những từ nào cần dịch từ tiếng Anh sang tiếng Việt (bảng tra gồm 2 cột: cột tiếng Anh và cột bên cạnh là tiếng Việt tương đương) ----> Đưa bảng tra ấy lên đây, phần còn lại tôi sẽ làm cho
 
Upvote 0
Bạn chưa rành về lập trình thì tôi giúp bạn, OK! Nhưng như đã nói ở trên, bạn phải lập ra 1 danh mục những từ nào cần dịch từ tiếng Anh sang tiếng Việt (bảng tra gồm 2 cột: cột tiếng Anh và cột bên cạnh là tiếng Việt tương đương) ----> Đưa bảng tra ấy lên đây, phần còn lại tôi sẽ làm cho
vâng, em xin gửi 1 file làm ví dụ, giúp em với nhé vì món này em còn dốt lắm, cho em hỏi thêm luôn em còn rất nhiều tác nghiệp khác và nhiều từ cần phải dịch nữa sau này em vẫn có thể thêm tiếp vào file này được ko ah?
Hướng dẫn em cách thực hiện chi tiết với nhé vì em ko phải dân it pro cho lắm, đồng thời hướng dẫn em thêm nút button vào Excel luôn nhé(nhiều vấn đề em chưa biết hiii, nên em hỏi nhiều vậy). Em cám ơn rất nhiều!!!! Em gửi file đính kèm bên dưới nhé!
 

File đính kèm

Upvote 0
vâng, em xin gửi 1 file làm ví dụ, giúp em với nhé vì món này em còn dốt lắm, cho em hỏi thêm luôn em còn rất nhiều tác nghiệp khác và nhiều từ cần phải dịch nữa sau này em vẫn có thể thêm tiếp vào file này được ko ah?
Hướng dẫn em cách thực hiện chi tiết với nhé vì em ko phải dân it pro cho lắm, đồng thời hướng dẫn em thêm nút button vào Excel luôn nhé(nhiều vấn đề em chưa biết hiii, nên em hỏi nhiều vậy). Em cám ơn rất nhiều!!!! Em gửi file đính kèm bên dưới nhé!
Làm cho bạn đây:
PHP:
Sub MF_Replace()
  Dim i As Long, Clls As Range, Ws As String, Sh As Worksheet
  Application.ScreenUpdating = False
  With Application.FileDialog(1)
    .AllowMultiSelect = True: .Show
    For i = 1 To .SelectedItems.Count
      Ws = Replace(.SelectedItems(i), .InitialFileName, "")
      If ThisWorkbook.Name <> Ws Then
        Workbooks.Open .SelectedItems(i)
        For Each Clls In ThisWorkbook.ActiveSheet.[A1].CurrentRegion.Resize(, 1)
          Windows(Ws).Activate
          For Each Sh In ActiveWorkbook.Worksheets
            Sh.UsedRange.Replace Clls, Clls.Offset(, 1), xlPart
          Next Sh
        Next Clls
        Windows(Ws).Close True
      End If
    Next i
  End With
  Application.ScreenUpdating = True
End Sub
Bạn mở file đính kèm rồi bấm nút Run code ---> một cửa sổ Open hiện ra, chọn file cần thay thế từ rồi bấm nút Open
Tôi mới thí nghiệm sơ qua thì thấy nó chưa dịch hết (vì danh mục của bạn còn thiếu nhiều từ)... Sau này bạn cứ bổ sung những từ còn thiếu vào 2 cột A, B như bạn đang làm là được rồi
 

File đính kèm

Upvote 0
vâng, em cám ơn ah!
Em chạy thử rồi ah, nhưng vẫn báo lỗi sau ah: " Cannot run the macro 'FileTN.xlsm!MF_replace'. The macro may not be available in thí workbook or all macro may be disabled" (em hiểu là ko thể mở được cái file này, vì các macro này ko có trong file hoặc là các macro này đã bị vô hiệu hóa), em cũng ko rõ thế nào , giúp em lần nữa đi ah!!!!!
 
Upvote 0
Làm cho bạn đây:
PHP:
Sub MF_Replace()
Dim i As Long, Clls As Range, Ws As String, Sh As Worksheet
Application.ScreenUpdating = False
With Application.FileDialog(1)
.AllowMultiSelect = True: .Show
For i = 1 To .SelectedItems.Count
Ws = Replace(.SelectedItems(i), .InitialFileName, "")
If ThisWorkbook.Name <> Ws Then
Workbooks.Open .SelectedItems(i)
For Each Clls In ThisWorkbook.ActiveSheet.[A1].CurrentRegion.Resize(, 1)
Windows(Ws).Activate
For Each Sh In ActiveWorkbook.Worksheets
Sh.UsedRange.Replace Clls, Clls.Offset(, 1), xlPart
Next Sh
Next Clls
Windows(Ws).Close True
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
Bạn mở file đính kèm rồi bấm nút Run code ---> một cửa sổ Open hiện ra, chọn file cần thay thế từ rồi bấm nút Open
Tôi mới thí nghiệm sơ qua thì thấy nó chưa dịch hết (vì danh mục của bạn còn thiếu nhiều từ)... Sau này bạn cứ bổ sung những từ còn thiếu vào 2 cột A, B như bạn đang làm là được rồi

Bạn làm nhanh quá!
Mấy từ trong hình vẽ "dịch" được không bạn?

Bạn KieuAnh 86:
Phải thống nhất mã font trong từ điển và trong file tác vụ.
Ngoài ra ở góc trên bên phải có ba từ hình như là tiếng Ả Rập nhỉ?
Bổ sung: Mình chạy bình thường mà
 
Lần chỉnh sửa cuối:
Upvote 0
vâng, em cám ơn ah!
Em chạy thử rồi ah, nhưng vẫn báo lỗi sau ah: " Cannot run the macro 'FileTN.xlsm!MF_replace'. The macro may not be available in thí workbook or all macro may be disabled" (em hiểu là ko thể mở được cái file này, vì các macro này ko có trong file hoặc là các macro này đã bị vô hiệu hóa), em cũng ko rõ thế nào , giúp em lần nữa đi ah!!!!!
Phải Enable Macro lên thì mới chạy được chứ
Như vậy tôi đoán từ trước giờ hình như bạn chưa từng biết code VBA là gì cả, đúng không?
 
Upvote 0
vâng đúng rồi ah, em có làm cái nay bao giờ đâu ah, vì em ko phải dân IT mà, sếp em giao việc nên em mới tìm hiểu qua nên mới nhờ các anh IT pro giúp đỡ em đó.
Cái gì mới đầu tìm hiểu cũng gặp rất nhiều khó khăn mà, cám ơn các anh em đã giúp đỡ
 
Upvote 0
vâng đúng rồi ah, em có làm cái nay bao giờ đâu ah, vì em ko phải dân IT mà, sếp em giao việc nên em mới tìm hiểu qua nên mới nhờ các anh IT pro giúp đỡ em đó.
Cái gì mới đầu tìm hiểu cũng gặp rất nhiều khó khăn mà, cám ơn các anh em đã giúp đỡ
Trước tiên bạn hãy xem qua bài viết này để biết cách chạy macro trên Excel 2007:
http://www.giaiphapexcel.com/forum/showthread.php?30533-Medium-Security-Macro-Setting-trong-2007-n%E1%BA%B1m-%E1%BB%9F-%C4%91%C3%A2u&p=204224#post204224
Làm xong, đóng Excel rồi chạy lại file của tôi xem thử (nhớ chọn Enable this content nhé)
 
Upvote 0
Cái khó nhất là cơ sở dữ liệu (rất mệt), ngoài ghép từ để hiểu còn phải động từ, tính từ, rồi chủ động, bị động,... thì mới được câu hoàn chỉnh. Nói thế chắc kieuanh86, đừng tham vọng vì sẽ không thể làm được đâu!
 
Upvote 0
Cái khó nhất là cơ sở dữ liệu (rất mệt), ngoài ghép từ để hiểu còn phải động từ, tính từ, rồi chủ động, bị động,... thì mới được câu hoàn chỉnh. Nói thế chắc kieuanh86, đừng tham vọng vì sẽ không thể làm được đâu!
Ah, không đâu thầy à! Hoàn toàn làm được đấy! Chẳng qua tác giả không biết cách mô tả thôi ---> Bài toán này thực chất chỉ là TÌM KIẾM VÀ THAY THẾ (chẳng phải dịch ANH-VIỆT gì cả)
 
Upvote 0
Trước tiên bạn hãy xem qua bài viết này để biết cách chạy macro trên Excel 2007:
http://www.giaiphapexcel.com/forum/...ting-trong-2007-nằm-ở-đâu&p=204224#post204224
Làm xong, đóng Excel rồi chạy lại file của tôi xem thử (nhớ chọn Enable this content nhé)
Em cám ơn sự chỉ dẫn của pro nud96081631 rất nhiều ạ! Em đã làm theo đúng hướng dẫn như vậy nhưng vẫn không thấy xuất hiện hộp thoại Microsoft office security option để em có thể chọn Enable macro. Làm ơn chỉ giúp em đi ạ. Em cũng hỏi IT của cty em nhưng họ cũng ko biết. Hihi! Mong mọi người giúp đỡ. Cám ơn rất nhiều!!
 
Upvote 0
Em cám ơn sự chỉ dẫn của pro nud96081631 rất nhiều ạ! Em đã làm theo đúng hướng dẫn như vậy nhưng vẫn không thấy xuất hiện hộp thoại Microsoft office security option để em có thể chọn Enable macro. Làm ơn chỉ giúp em đi ạ. Em cũng hỏi IT của cty em nhưng họ cũng ko biết. Hihi! Mong mọi người giúp đỡ. Cám ơn rất nhiều!!
Hướng dẫn thì cũng đã hướng dẫn hết cả rồi, giờ bạn vẫn không làm được thì tôi đành... bó tay vậy
(sao người khác tải file về người ta chạy được? Mà nè, đừng hỏi IT mất công, IT chẳng biết Excel đâu)
 
Upvote 0
hihi! em biết là bác đã hướng dẫn em như vậy là đầy đủ rồi, em cũng làm như hướng dẫn một cách chính xác rồi đấy chứ ạ!
nó vẫn ko hiển thị được hộp thoại Security macro đấy thôi, nếu biết thì chỉ giùm em đi mà, làm ơn chỉ nốt em phần này. TKS!!!!!
 
Upvote 0
ai biết thì giúp em với nha! thứ 4 tới em phải có đáp án cho sếp, mà họ là sếp nước ngoài nên rất đúng hẹn nên em thấy lo lắng. Tks mọi người nhiều!
 
Upvote 0
Giải pháp tình thế: Bạn uninstall office07 triệt để (để loại bỏ lỗi nếu có) rồi cài office 2003 cho dễ sử dụng hơn (quen hơn)
 
Upvote 0
Hướng dẫn thì cũng đã hướng dẫn hết cả rồi, giờ bạn vẫn không làm được thì tôi đành... bó tay vậy
(sao người khác tải file về người ta chạy được? Mà nè, đừng hỏi IT mất công, IT chẳng biết Excel đâu)
hiii, em đã làm được rồi ạh, cám ơn pro nud96081631 rất nhiều. Em đã chạy thử rồi nhưng có cách nào giúp em dịch những cụm từ mà chúng được ngăn cách với nhau bằng dấu "," hay dấu " -" ko ah?
tks nhiều ah!!!!
 
Upvote 0
hiii, em đã làm được rồi ạh, cám ơn pro nud96081631 rất nhiều. Em đã chạy thử rồi nhưng có cách nào giúp em dịch những cụm từ mà chúng được ngăn cách với nhau bằng dấu "," hay dấu " -" ko ah?
tks nhiều ah!!!!
Cụ thể là CUM TỪ nào? Bạn nói rõ chút đi
Lưu ý rằng: Cái bảng tra của bạn thế nào thì nó sẽ thay thế như thế ấy thôi nha (bạn tạo bảng tra sai thì nó sẽ dịch sai)
 
Upvote 0
ai biết thì giúp em với nha! thứ 4 tới em phải có đáp án cho sếp, mà họ là sếp nước ngoài nên rất đúng hẹn nên em thấy lo lắng. Tks mọi người nhiều!

Vấn đề của bạn nếu tra từ thì không khó nhưng tra cả đoạn văn hay một câu hoàn chỉnh là mệt đó. Bạn chưa biết VBA hay chưa có kinh nghiệm về lập trình mà nhận lới với sếp nước ngoài về vụ này là mạo hiểm với nghề nghiệp của mình đó. Tốt nhất bạn nói bạn không kinh nghiệm trong lĩnh vực này nên cần thời gian để học thì sếp còn thông cảm và có phương án khác. Để sếp thất vọng rồi không tin là mệt.
 
Upvote 0
vâng. Em ví dụ 1 vài cụm từ: crown, front inside , hay cụm từ : artwork - see attached (Khi dịch nó vẫn giữ nguyên). Em cám ơn nhé!!!!
 
Upvote 0
em cám ơn, em cũng có nhận lời đâu ah, em cũng đã bảo với sếp là em ko làm được, nhưng ông sếp vẫn muốn em ngồi nghiên cứu. Em đang tính bỏ cuộc mặc cho sếp mắng nhưng may có pro nud96081631 giúp đỡ em cũng yên tâm hơn rồi, tuy còn vài chỗ chưa được nhưng với em thế là quá tốt rồi, sếp có hỏi em có cái để nói rồi. sau này có vấn đề gì mong mọi người giúp đỡ em ah!!
 
Upvote 0
vâng. Em ví dụ 1 vài cụm từ: crown, front inside , hay cụm từ : artwork - see attached (Khi dịch nó vẫn giữ nguyên). Em cám ơn nhé!!!!
Mấy từ crown, front inside không có trong bảng tra (bạn chưa tạo)
Còn cụm từ artwork - see attached thì không có trong file gốc
Xem lại đi! Cứ cái nào bạn đã tạo trong bảng tra thì nó sẽ tìm và thay thế, cái nào bạn chưa tạo thì.. biết gì mà dịch
 
Upvote 0
hii, vâng em cám ơn nhiều ah. làm ơn cho em hỏi cách tạo nút button trong excel như thế nào vậy ah? em thử tạo nút lệnh đó để có thể tìm hiểu nhiều hơn về lập trình VBA trên excel, sau này em có thể viết các chương trình khác được ko ah?
 
Upvote 0
hii, vâng em cám ơn nhiều ah. làm ơn cho em hỏi cách tạo nút button trong excel như thế nào vậy ah? em thử tạo nút lệnh đó để có thể tìm hiểu nhiều hơn về lập trình VBA trên excel, sau này em có thể viết các chương trình khác được ko ah?
Bạn làm như sau:
1> Đầu tiên vào Excel Options (cái này chắc bạn biết)... trong cửa sổ Excel Options, chọn mục Popular, nhìn sang phải, check mục "Show Developer tab in the Rippon"

untitled1.JPG




2> Đóng Excel Options, trở về bảng tính Excel, bạn sẽ thấy trên thanh Rippon xuất hiện 1 tab mới tên Developer

untitled2.JPG




3> Bấm chọn tab Developer, bấm mũi tên xổ xuống của nút Insert, chọn vào Button rồi vẽ ra bảng tính

untitled3.JPG




4> Để gán Button cho macro nào đó, click phải vào Button, chọn Asign Macro, chọn tên Macro rồi bấm OK

untitled4.JPG

untitled5.JPG
 
Upvote 0
vâng, cám ơn rất nhiều đã giúp em hoàn thành một bài toán với em là rất khó thực hiện!!!!
 
Upvote 0
Các bác ơi! Save giúp em save file excel xuống bản 2003. Em cám ơn nhiều!
 
Upvote 0

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

Back
Top Bottom