Xin code chuyển từ file excel 2016 sang file excel 2003

Liên hệ QC

hung2412

Thành viên tích cực
Tham gia
5/8/08
Bài viết
929
Được thích
240
Giới tính
Nam
Xin chào các bạn GPE!
Tôi có 1 vấn đề cần các bạn giúp cho:
Như chúng ta đã biết thì file excel 2003 có đuôi là .xls, còn file excel 2016 có đuôi là .xlsx
Tôi muốn code chuyển từ file excel 2016 có đuôi là .xlsx sang file excel 2003 có đuôi là .xls mà không phụ thuộc tên file (Ví dụ tên file excel 2016 là Dutoan.xlsx, Ketoan.xlsx, Luong.xlsx, ...). Tôi thực hiện chuyển file excel 2016 sang excel 2003 bằng record code nhưng lại bị phụ thuộc vào tên file.
Mong các bạn giúp tôi với.
Chân thành cảm ơn các bạn!
Note: Tôi có 1 file excel 2016 tên là Tien an.xlsx (Nhờ các bạn chuyển sang file excel 2003 bằng code mà không phụ thuộc vào tên file)
 

File đính kèm

Xin chào các bạn GPE!
Tôi có 1 vấn đề cần các bạn giúp cho:
Như chúng ta đã biết thì file excel 2003 có đuôi là .xls, còn file excel 2016 có đuôi là .xlsx
Tôi muốn code chuyển từ file excel 2016 có đuôi là .xlsx sang file excel 2003 có đuôi là .xls mà không phụ thuộc tên file (Ví dụ tên file excel 2016 là Dutoan.xlsx, Ketoan.xlsx, Luong.xlsx, ...). Tôi thực hiện chuyển file excel 2016 sang excel 2003 bằng record code nhưng lại bị phụ thuộc vào tên file.
Mong các bạn giúp tôi với.
Chân thành cảm ơn các bạn!
Note: Tôi có 1 file excel 2016 tên là Tien an.xlsx (Nhờ các bạn chuyển sang file excel 2003 bằng code mà không phụ thuộc vào tên file)
Mở File Tien an.xlsx rồi vào File > Save As > Browse hộp thoại hiện ra rồi làm trình tự như hình. Chứ đâu phải cái gì cũng cần đến Code.

A_Hinh.GIF
 
Mở File Tien an.xlsx rồi vào File > Save As > Browse hộp thoại hiện ra rồi làm trình tự như hình. Chứ đâu phải cái gì cũng cần đến Code.

View attachment 220175
Tôi biết thao tác đó mà.
Nhưng tôi muốn code cơ. Tôi biết là bạn sẽ bảo tôi record code, nhưng khó ở chỗ tôi muốn đặt tên file (File mới dạng 2003) vẫn như cũ mà ko phụ thuộc vào tên file.
 
Nghĩa là Tienan.xlsx thành Tienan.xls hả bác?
 
Hiểu rồi, vậy mà bác nói lòng vòng. Chỉ là đổi file extension rồi lưu với old format
Bác đưa code bác đã làm lên đi. Chứ viết 100% từ đầu cho bác thì cu anh tôi lười lắm
 
Thử Record Macro 1 cái xem nó ra cái ... thì nó ra cái này :p
Mã:
Sub Macro1()
'
' Macro1 Macro
'

'
    ChDir "E:\"
    ActiveWorkbook.SaveAs Filename:="E:\Book1.xls", FileFormat:=xlExcel8, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False   
End Sub
 
Thử Record Macro 1 cái xem nó ra cái ... thì nó ra cái này :p
Mã:
Sub Macro1()
'
' Macro1 Macro
'

'
    ChDir "E:\"
    ActiveWorkbook.SaveAs Filename:="E:\Book1.xls", FileFormat:=xlExcel8, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False  
End Sub
Đúng rồi, nhưng chỗ Book1.xls tôi muốn đổi thành Tien an.xls, mà khó ở chỗ code không phụ thuộc vào tên file.
 
Em mượn bài anh kieu manh tẹo nhé
PHP:
Sub vidu()
    Dim ten_moi As String
    ten_moi = ThisWorkbook.FullName
    ten_moi = VBA.Left(ten_moi, Len(ten_moi) - 1)
    ThisWorkbook.SaveAs Filename:=ten_moi, FileFormat:=xlExcel8, _
            Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
            CreateBackup:=False
End Sub
 
Tôi nghĩ là thớt muốn một cái code VBA (hay VBS gì đó) để Save bất cứ file nào.
Như vậy giải thuật phải là
Viết một hàm:
- Nhận một tên file.
- Mở file đó
- SaveAs
- Đóng lại
Viết một hàm khác:
- Mở hộp thoại lấy tên file
- Gọi hàm trên
 
Mình cũng nghỉ vậy, cho bác ấy multi file select luôn.
Bác muốn lưu cùng thư mục với file .xlsx hay cho phép chọn thư mục, hiện Save dialog cho từng file hay không hiện. . .
Đưa hết yêu cầu lên 1 lần, code 1 lần, chứ giờ tui ngán làm A xong, lại đòi làm thêm, sửa thành B, C . . .lắm rồi
 
Lần chỉnh sửa cuối:
Ba cái vụ hỏi nữa chừng tôi ngán còn hơn ăn ớt.
Dựa vào câu này trong File "Tài khoản: 138802; Từ ngày 01/6/2019 đến ngày 28/6/2019", thì tôi nghĩ trong File còn nhiều sheet nữa mà chủ Topic lại diễn giải không cụ thể, rỏ ràng. Ba cái vụ lưu File này nó có nhiều vấn đề lắm, nào là:
1/ Lưu chỉ riêng 1 sheet đó.
2/ Lưu tất cả các sheet với mỗi sheet là 1 File.
3/ Lưu chỉ vài sheet cần mỗi sheet 1 File.
4/ Lưu tên File theo nội dung của 1 Cell nào đó.
5/ Rồi nhiều khi hứng hứng lại muốn lưu cùng lúc 2 loại File PDF và xls cùng lúc cũng không biết chừng.
 
Lần chỉnh sửa cuối:
Tôi nghĩ là thớt muốn một cái code VBA (hay VBS gì đó) để Save bất cứ file nào.
Như vậy giải thuật phải là
Viết một hàm:
- Nhận một tên file.
- Mở file đó
- SaveAs
- Đóng lại
Viết một hàm khác:
- Mở hộp thoại lấy tên file
- Gọi hàm trên
Tôi đang viết code như thế này:
Tôi chiết 5 file excel từ phần mềm kế toán ra Desktop (Trong đó có file tên là Luong), tôi mở 5 File excel đó cùng lúc lên. Sau đó tôi chạy code để làm lương, trong code đó tôi gọi file Luong ra để chọn nó, nhưng khổ nỗi là không biết file Luong đó là đuôi xls hay là xlsx?
Set WbLuong = Workbooks("Luong.xls")
WbLuong.Activate
Bài đã được tự động gộp:

Ba cái vụ hỏi nữa chừng tôi ngán còn hơn ăn ớt.
Dự vào câu này trong File "Tài khoản: 138802; Từ ngày 01/6/2019 đến ngày 28/6/2019", thì tôi nghĩ trong File còn nhiều sheet nữa mà chủ Topic lại diễn giải không cụ thể, rỏ ràng. Ba cái vụ lưu File này nó có nhiều vấn đề lắm, nào là:
1/ Lưu chỉ riêng 1 sheet đó.
2/ Lưu tất cả các sheet với mỗi sheet là 1 File.
3/ Lưu chỉ vài sheet cần mỗi sheet 1 File.
4/ Rồi nhiều khi hứng hứng lại muốn lưu cùng lúc 2 loại File PDF và xls cùng lúc cũng không biết chừng.
Tôi chỉ vướng đoạn đó thôi bạn.
 
Hì hì, vậy mà tưởng bác làm bên Tòa án chứ. Tiền ăn.xlsx chứ kg phải Tiền án.xlsx ;)
 
Chủ thớt đăng bài mới rồi gửi "code làm lương" lên mọi người sửa cho... Chứ ai lại để code phụ thuộc vào cái đuôi file.. buồn cười lắm.
 
Tôi chiết 5 file excel từ phần mềm kế toán ra Desktop (Trong đó có file tên là Luong), tôi mở 5 File excel đó cùng lúc lên. Sau đó tôi chạy code để làm lương, trong code đó tôi gọi file Luong ra để chọn nó, nhưng khổ nỗi là không biết file Luong đó là đuôi xls hay là xlsx?

Dựa vào nội dung trích dẫn tôi thấy bạn đi không đúng hướng.
1/ Thông thường Phần mềm kế toán khi xuất File thì chỉ có 1 loại đuôi File duy nhất là xls hoặc xlsx chứ không có chuyện nay xuất ra đuôi này, mai xuất ra đuôi nọ. Theo tôi biết thì chỉ xuất ra 1 loại duy nhất.
2/ Nếu là 1 loại đuôi File duy nhất thì người ta bỏ chung trong 1 Folder rồi dùng code gộp File.
 
Lần chỉnh sửa cuối:
Hì hì, thấy chưa, yêu cầu 1 đằng, cuối cùng thực tế 1 nẻo.
Hồi nãy mà cắm đầu code cho chủ thớt thì coi như công cốc rồi.
Cứ hỏi cho rõ đã
 
Chủ thớt đăng bài mới rồi gửi "code làm lương" lên mọi người sửa cho... Chứ ai lại để code phụ thuộc vào cái đuôi file.. buồn cười lắm.
Ah, code làm lương này tôi đã làm và áp dụng từ mấy năm nay rồi. Nhưng mà vừa rồi tôi chiết phần mềm kế toán ra file excel đuôi là xlsx (Thay vì trước đó nó ra đuôi xls).
Bài đã được tự động gộp:

Hì hì, thấy chưa, yêu cầu 1 đằng, cuối cùng thực tế 1 nẻo.
Hồi nãy mà cắm đầu code cho chủ thớt thì coi như công cốc rồi.
Cứ hỏi cho rõ đã
Không phải vậy đâu, đầu bài có liên quan đến phần tôi muốn đổi đuôi từ xlsx sang xls. Túm lại là cả 1 code dài.
Bài đã được tự động gộp:

Dựa vào nội dung trích dẫn tôi thấy bạn đi không đúng hướng.
1/ Thông thường Phần mềm kế toán khi xuất File thì chỉ có 1 loại đuôi File duy nhất là xls hoặc xlsx chứ không có chuyện này xuất đuôi này, mai xuất ra đuôi nọ. Theo tôi biết thì chỉ xuất ra 1 loại duy nhất.
2/ Nếu là 1 loại đuôi File duy nhất thì người ta bỏ chung trong 1 Folder rồi dùng code gộp File.
Chính xác là từ mấy tháng trước phần mềm kế toán chiết xuất ra file excel có đuôi là xls, nhưng hôm nay nó lại ra đuôi xlsx (Chắc là phần mềm kế toán cập nhật lên xlsx cho nhiều dòng thêm)
 
Lần chỉnh sửa cuối:
............................................................ Túm lại là cả 1 code dài.
............................................................
Hỏi mà còn giấu code thì tự tìm chỗ này (tôi đoán mò thôi):
".xls", FileFormat:=50

Sửa lại thế này
".xlsx", FileFormat:=51
 
Web KT

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

Back
Top Bottom