Chỉ có thể in ra máy in mặc định (Microsoft Excel)
Trên hệ thống của Bob, Excel từ chối in bằng bất kỳ máy in nào khác với máy in được đặt làm mặc định cho hệ thống. Điều này chỉ xảy ra trong Excel, không xảy ra trong Word hoặc bất kỳ ứng dụng đã cài đặt nào khác. Vì vậy, để in anh ta phải tạm thời thay đổi máy in mặc định thành máy in anh ta muốn, in và sau đó nhớ đặt máy in lại sau đó. Bob đang tự hỏi tại sao anh ấy không thể chọn các máy in khác.
Có thể có một số nguyên nhân khác nhau cho vấn đề này. Một người đăng ký đã báo cáo rằng họ gặp phải vấn đề tương tự nhưng nó chỉ xảy ra sau khi chuyển văn phòng của họ sang Windows 7 64-bit và sử dụng Windows PrintServer. Trong trường hợp của họ, họ phát hiện ra rằng thuộc tính ẩn trên hàng đợi máy in gây ra sự cố và họ chỉ có thể giải quyết vấn đề này bằng cách trao đổi với bộ phận hỗ trợ của Microsoft.
Những người khác báo cáo sự cố xảy ra khi các phần bổ trợ cụ thể được cài đặt trên hệ thống. (Cụ thể là Lệnh tìm kiếm của Microsoft Office Labs, đã được đề cập một vài lần.) Vô hiệu hóa phần bổ trợ đã giải quyết được vấn đề.
Có một cuộc thảo luận tốt về sự cố và các bản sửa lỗi khác nhau ở đây:
http://answers.microsoft.com/en-us/office/forum/office_2010-excel/excel-2010-only-prints-to-the-default-printer/5b6beddd-f85d-4fda-ab2b-56c750f2028c
Bạn sẽ muốn đảm bảo rằng thông tin này được nhập vào trình duyệt của bạn dưới dạng một URL duy nhất; nó là khá dài.
Nếu không có giải pháp nào được đề xuất hoạt động trong trường hợp của bạn, bạn có thể thử in qua macro. Tại sao? Vì bạn có thể dễ dàng sửa đổi máy in mặc định được chỉ định trong macro và sau đó thay đổi lại. Tất cả được thực hiện thông qua việc sử dụng thuộc tính ActivePrinter. Bạn có thể xác định tên của máy in mặc định hiện tại và gán nó cho một biến, thay đổi máy in, sau đó thực hiện thao tác in của bạn và cuối cùng thay đổi lại máy in:
Dim sDefault As String sDefault = Application.ActivePrinter 'save current default printer Application.ActivePrinter = "XYZ SuperPrinter" ' do your printing Application.ActivePrinter = sDefault 'restore default
Điều duy nhất bạn cần làm là đảm bảo rằng bạn thay thế “XYZ SuperPrinter” bằng tên thực của máy in bạn muốn sử dụng. Bạn có thể tìm ra tên của máy in bằng cách đặt nó làm mặc định (trong Windows) và sau đó, trong cửa sổ VBE ngay lập tức, in tên của máy in:
? Application.ActivePrinter
Đánh dấu tên, chú ý đến khoảng cách và viết hoa, và đó là tên bạn có thể sử dụng trong macro in.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (12497) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.