Nếu bạn sử dụng macro để in trang tính của mình, bạn đã biết rằng macro có thể chỉ định máy in thực mà đầu ra sẽ được gửi đến.

Điều gì xảy ra nếu bạn muốn chỉ định một khay giấy cụ thể được sử dụng trên máy in đó? Thật không may, điều này có một chút khó khăn.

Vấn đề là khi bạn nhấp vào nút Tùy chọn trong hộp thoại Thiết lập trang để đặt khay giấy sẽ sử dụng, những gì bạn nhìn thấy hoàn toàn nằm dưới sự kiểm soát của trình điều khiển máy in của bạn, không nằm dưới sự kiểm soát của Excel.

Điều này có nghĩa gì với bạn? Nó có nghĩa là không có lệnh nào bạn có thể sử dụng trong macro Excel để chỉ định khay máy in. Tuy nhiên, có một số cách giải quyết mà bạn có thể thử. Cách giải quyết đầu tiên là chỉ cần xác định các định nghĩa máy in khác nhau trong Windows, mỗi định nghĩa được điều chỉnh để sử dụng một khay máy in cụ thể. Làm theo các bước chung sau:

  1. Xác định số lượng khay giấy bạn muốn sử dụng trên máy in.

  2. Xác định máy in mới cho mỗi khay giấy bạn muốn sử dụng. Ví dụ: nếu bạn muốn sử dụng ba khay giấy khác nhau, bạn sẽ xác định ba máy in, mỗi máy có tên đại diện cho khay giấy.

  3. Nhấp chuột phải vào định nghĩa máy in và thay đổi các thuộc tính của máy in để máy in in ra khay giấy mong muốn.

  4. Lặp lại bước 3 cho từng định nghĩa máy in khác, đảm bảo bạn chỉ định các khay giấy khác nhau cho từng định nghĩa.

Tại thời điểm này, bạn đã thiết lập nhiều định nghĩa máy in và mỗi định nghĩa sẽ in ra khay giấy khác nhau trên cùng một máy in. Trong Excel, bạn có thể chỉ định máy in mong muốn, trong một macro, để bản in đi đến định nghĩa máy in mong muốn và do đó đến khay giấy mong muốn. Tất nhiên, hạn chế duy nhất của giải pháp này là nó tốn khá nhiều công việc thiết lập. Nếu bạn làm việc trong một văn phòng với 50 người dùng, điều này có nghĩa là bạn sẽ cần đảm bảo rằng cả 50 người đều có từng máy in được xác định như mô tả ở trên.

Một giải pháp khác liên quan đến việc sử dụng câu lệnh SendKeys trong macro của bạn. Bạn có thể tìm thấy thông tin về SendKeys trong phần trợ giúp trực tuyến VBA có sẵn với Excel, nhưng về cơ bản những gì nó làm là nhồi vào bộ đệm bàn phím bằng một loạt các lần nhấn phím, giống như chúng sẽ được người dùng nhập. Vì vậy, về mặt lý thuyết, bạn có thể thiết lập macro để mô phỏng các lần nhấn phím mà bạn sẽ làm theo để mở hộp thoại Thiết lập trang, nhấp vào Tùy chọn và chọn một khay máy in khác.

Tuy nhiên, có một vấn đề tiềm ẩn với SendKeys. Nó có thể không đáng tin cậy vì không có cách nào để đảm bảo rằng các lần nhấn phím thực sự đi đến nơi bạn muốn. Trên hệ điều hành đa luồng (như Windows), một số quy trình khác có thể can thiệp và làm trật bánh các lệnh. Ngoài ra, nếu SendKeys hoạt động trên máy tính của bạn, nó có thể không hoạt động trên máy tính của người khác trừ khi họ có cùng phiên bản Excel, cùng một máy in và cùng một phiên bản trình điều khiển máy in.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (2213) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: