Thủ tục nào có thể tự đóng rồi restart

Liên hệ QC

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,952
Các cao thủ cho hỏi:
- Liệu ta có thể viết 1 sub trong 1 file Excel nào đó sao cho khi ta chạy sub này thì file Excel (chứa sub này) sẽ tự đóng rồi restart trở lại hay không?
-----------------------
Sub nằm ở file A điều khiển việc Close and Restart file B thì không có vấn đề ---> Vấn đề ở đây là Sub nằm trong chính file mà ta muốn điều khiển
Tôi đang nghĩ đến Class Module nhưng chưa biết cách làm
Nhờ các bạn hướng dẩn giúp!
 
Em có ý thế này không biết có giải quyết được vấn đề của anh không ? -\\/..Cái này em nghĩ phải có 1 add in de làm việc này quá khi nhấn sub file A nó dóng lại và ghi vào Regedit sau đó add in này sẽ kiểm tra đường dẫn và tên file trong regedit nếu dang mở thì thôi còn nguoc lại thì open. xong roi xóa dữ liệu trong regedit.
 
Upvote 0
Em có ý thế này không biết có giải quyết được vấn đề của anh không ? -\\/..Cái này em nghĩ phải có 1 add in de làm việc này quá khi nhấn sub file A nó dóng lại và ghi vào Regedit sau đó add in này sẽ kiểm tra đường dẫn và tên file trong regedit nếu dang mở thì thôi còn nguoc lại thì open. xong roi xóa dữ liệu trong regedit.
Vâng! Nếu thông qua 1 AddIn thì tôi làm được ---> Nó tương đương với việc ta dùng 1 file A điều khiển file B thôi
Vấn đề tôi cần là: "TỰ FILE A CÓ THỂ RESTART CHÍNH NÓ"
Nếu dùng AddIn thì chỉ ta mới xài được, mang sang máy tính khác sẽ làm sao?
Có 1 vài thay đổi trên hệ thống mà chỉ khi restart lại file nó mới cập nhật, chẳng hạn tôi đang gặp rắc rối tại bài viết này:
http://www.giaiphapexcel.com/forum/showthread.php?t=31601
 
Upvote 0
Có phải ý của anh là dùng code restart file excel để nó update các thông số không ah. Có lần em thử sự kiện onkey thì file vừa đóng sẽ được mở lại ngay tức thì. Không biết là nó có thực sự restart hay không. Anh thử xem nha.
 
Upvote 0
Liệu như thế này có được không:

PHP:
Sub test()
ActiveWorkbook.NewWindow
Windows(ActiveWindow.Index).Close 1
End Sub
-Mở Workbook này trong cửa sổ mới.
-Đóng cửa sổ hiện thời lại.
(Nhìn dưới TastBar có thể hiện việc đóng mở này)
 
Lần chỉnh sửa cuối:
Upvote 0
Liệu như thế này có được không:

PHP:
Sub test()
ActiveWorkbook.NewWindow
Windows(ActiveWindow.Index).Close 1
End Sub
-Mở Workbook này trong cửa sổ mới.
-Đóng cửa sổ hiện thời lại.
(Nhìn dưới TastBar có thể hiện việc đóng mở này)
Không được anh à! Có 1 vài thay đổi của hệ thống mà buộc phải đóng hoàn toàn Excel rồi khởi động lại thì nó mới cập nhật
Em thật sự không hy vọng lắm với yêu cầu của em có thể giải quyết được, vì đóng toàn bộ Excel thì lấy gì điều khiển
Các phần mềm lớn thường làm được điều này có lẽ nhờ sự hổ trợ gì đó chăng?
 
Upvote 0
NDU xem thử cách này xem có đáp ứng được đúng yêu cầu không nhé. Nó có khả năng restart 1 WorkBook, nhưng không đóng hoàn toàn excel.
 

File đính kèm

Upvote 0
Để đóng hoàn toàn Excel và khởi động lại thì chắc chắn cần một ứng dụng tiếp theo. Các ứng dụng khác cũng làm tương tự.
+ Trước khi đóng, nó khởi động một chương trình khác
+ Chương trình này sẽ khởi động lại ứng dụng và tự động thoát.

Để làm điều này, chỉ cần viết một ứng dụng khác bằng VB chẳng hạn trong đó có truyền các thao tác xử lý cho nó. Cách tốt nhât là sử dụng API với lệnh Shell, ShellExecute.
Chỉ cần đặt ứng dụng này vào thư mục chứa Workbook, Addin cần phải khởi động lại là có thể ổn.
 
Upvote 0
Web KT

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

Back
Top Bottom