Tạo nút save as tự động bằng VBA?

Liên hệ QC

techmodule

Thành viên mới
Tham gia
1/9/11
Bài viết
36
Được thích
0
Xin chào các bác, các anh chị
Em có vấn đề sau rất mong sự giúp đỡ
Ví dụ em có các cell sau:


Em muốn làm 1 nút save as với các thao tác sau
  1. Nếu chưa có thư mục (trong thư mục chứa file) thì tạo thư mục có nội dung trong ô C1 (ví dụ :Hà Nội), nếu có thư mục này rồi thì bỏ qua.
  2. Trong thư mục vừa tạo save sheet hiện tại sang PDF với tên file là: 20111020GG-001 có thể giải thích là lấy Năm-tháng-ngày của ô A1 và nội dung của ô C1
Mong sự giúp đỡ của các bác và các anh các chị
 

File đính kèm

  • cau hoi GPE.jpg
    cau hoi GPE.jpg
    12.5 KB · Đọc: 160
Lần chỉnh sửa cuối:
Xin chào các bác, các anh chị
Em có vấn đề sau rất mong sự giúp đỡ
Ví dụ em có các cell sau:


Em muốn làm 1 nút save as với các thao tác sau
  1. Nếu chưa có thư mục (trong thư mục chứa file) thì tạo thư mục có nội dung trong ô C1 (ví dụ :Hà Nội), nếu có thư mục này rồi thì bỏ qua.
  2. Trong thư mục vừa tạo save sheet hiện tại sang PDF với tên file là: 20111020GG-001 có thể giải thích là lấy Năm-tháng-ngày của ô A1 và nội dung của ô C1
Mong sự giúp đỡ của các bác và các anh các chị
- Đưa nguyên file của bạn lên đây, ghi thật rõ yêu cầu trong đó
- Ngoài ra cho biết bạn đang dùng Office version nào
 
Upvote 0
- Đưa nguyên file của bạn lên đây, ghi thật rõ yêu cầu trong đó
- Ngoài ra cho biết bạn đang dùng Office version nào
http://dl.dropbox.com/u/2000670/tu dong save as.xlsm
Em muốn trong Tab In báo giá sẽ có nút Save As Pdf, với nội dung lấy Địa điểm ở C12 Năm tháng ngày của C8, và Số phiếu ở C9, ví dụ thư mục được tạo tự động là Hà Nội (nếu có thì không cần tạo), trong đó sẽ save file là 20120131BG-002
Cảm ơn anh
 
Upvote 0
Hỏi lại 1 lần nữa:
- Bạn đang dùng Excel 2007 hoặc Excel 2010, đúng không?
- Bạn thử khởi động Excel, bấm F12 (để mở hộp Save As)
- Bấm mũi tên xổ xuống của khung Save As Type, xem thử có mục pdf gì gì đó không? (giống hình dưới đây)

Untitled.jpg
 
Upvote 0
Hỏi lại 1 lần nữa:
- Bạn đang dùng Excel 2007 hoặc Excel 2010, đúng không?
- Bạn thử khởi động Excel, bấm F12 (để mở hộp Save As)
- Bấm mũi tên xổ xuống của khung Save As Type, xem thử có mục pdf gì gì đó không? (giống hình dưới đây)

View attachment 76291
Em chào anh, em hiểu ý anh là vậy rồi, nhưng ý em là tạo 1 nút, xong sau đó save as tự động, tự tạo thư mục mới và tự đặt tên file để không bị trùng nhau, căn cứ theo ngày tháng địa điểm và số báo giá để cho nó không bị trùng
Em muốn trong Tab In báo giá sẽ có nút Save As Pdf, với nội dung lấy Địa điểm ở C12 Năm tháng ngày của C8, và Số phiếu ở C9, ví dụ thư mục được tạo tự động là Hà Nội (nếu có thì không cần tạo), trong đó sẽ save file là 20120131BG-002
Cảm ơn anh
 
Upvote 0
Em chào anh, em hiểu ý anh là vậy rồi, nhưng ý em là tạo 1 nút, xong sau đó save as tự động, tự tạo thư mục mới và tự đặt tên file để không bị trùng nhau, căn cứ theo ngày tháng địa điểm và số báo giá để cho nó không bị trùng
Tôi hiểu ý bạn!
Nhưng bạn phải trả lời câu hỏi ở trên để tôi biết chắc rằng máy của bạn có cho phép Save với định dạng PDF hay khồng (vì dù có viết code cũng đâu phải máy nào cũng chạy được)
 
Upvote 0
Tôi hiểu ý bạn!
Nhưng bạn phải trả lời câu hỏi ở trên để tôi biết chắc rằng máy của bạn có cho phép Save với định dạng PDF hay khồng (vì dù có viết code cũng đâu phải máy nào cũng chạy được)
Em chào anh, máy em dùng 2007 và có chế độ save as bằng PDF, em thử chạy macro ra code như sau
Sub Macro1()'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+Shift+P
'
ChDir "E:\file techmodule\Dropbox\Báo giá\Báo giá t?ng h?p"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"E:\file techmodule\Dropbox\Báo giá\Báo giá t?ng h?p\Bang bao gia techmodule viet.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub
Như vậy là máy em vẫn save được, nhưng em muốn save file không bị trùng nhau
Cảm ơn anh
 
Lần chỉnh sửa cuối:
Upvote 0
Em chào anh, máy em dùng 2007 và có chế độ save as bằng PDF, em thử chạy macro ra code như sau
Như vậy là máy em vẫn save được, nhưng em muốn save file không bị trùng nhau
Cảm ơn anh
Vậy đơn giản rồi chỉ cần như vầy là được
PHP:
 ActiveSheet.ExportAsFixedFormat xlTypePDF, Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "") & Replace([A1].Value, "/", "") & [C1].Value
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy đơn giản rồi chỉ cần như vầy là được
PHP:
 ActiveSheet.ExportAsFixedFormat xlTypePDF, Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "") & Replace([A1].Value, "/", "") & [C1].Value
Tức là em thay đoạn code này vào đoạn code
Sub Macro1()'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+Shift+P
'
ChDir "E:\file techmodule\Dropbox\Báo giá\Báo giá t?ng h?p"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"E:\file techmodule\Dropbox\Báo giá\Báo giá t?ng h?p\Bang bao gia techmodule viet.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub
Có phải vậy đúng không anh
 
Upvote 0
Vậy đơn giản rồi chỉ cần như vầy là được
PHP:
 ActiveSheet.ExportAsFixedFormat xlTypePDF, Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "") & Replace([A1].Value, "/", "") & [C1].Value
Em là theo anh nhưng không hiểu sao máy vẫn báo lỗi debug, anh có thể cho em 1 đoạn code hoàn chỉnh được k?
Thanks anh
 
Upvote 0
Web KT
Back
Top Bottom