Oväntat beteende när du använder olika utskriftskvalitet för blad i Excel

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Symptom

När du skriver ut flera kalkylblad i Microsoft Excel kan flera utskriftsjobb skapas. Det kan orsaka följande:

  • Om du skriver ut till en fil skrivs bara vissa blad ut till filen. återstående bladen skrivs ut på skrivaren.

  • Om du skriver ut till en fil kanske du uppmanas att ange namnet på utdatafilen flera gånger.

    Därför genereras fler än en utdatafil. Varje fil innehåller en del av den fullständiga utskriften.

  • Om du använder ett Microsoft Visual Basic for Applications-makro för att skriva ut bladen kan det hända att makrot misslyckas eftersom det finns flera begäranden om namn för utdatafilerna.

  • Om du skriver ut till en nätverksskrivare som används i hög grad kan utskriftsjobben blandas ihop med andra användares utskriftsjobb.

Orsak

Det här inträffar om du använder olika utskriftskvalitetsinställningar för att skriva ut kalkylbladen. När du skriver ut flera kalkylblad i Microsoft Excel, tvingar varje ändring av inställningen för utskriftskvalitet Microsoft Excel att skapa ett nytt utskriftsjobb med den inställningen för utskriftskvalitet.

Anteckning

Detta inträffar inte när du skriver ut samma kalkylblad i tidigare versioner av Microsoft Excel.

Lösning

Du kan komma runt det här problemet genom att kontrollera att alla kalkylblad du skriver ut använder samma inställningar för utskriftskvalitet. Du kan göra det manuellt eller använda ett Visual Basic-makro för att ändra utskriftskvaliteten.

Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsoft-supporttekniker kan förklara funktionaliteten i en viss procedur, men de ändrar inte de här exemplen för att ge ytterligare funktioner eller skapa procedurer som uppfyller dina specifika krav. Följande Visual Basic-makro säkerställer att alla kalkylblad i en arbetsbok använder samma utskriftskvalitetsinställningar:

   Sub SetPrintQuality()

For Each xSheet In ActiveWorkbook.Sheets
           xSheet.PageSetup.PrintQuality = 600
       Next xSheet

End Sub

Det här makrot förutsätter att skrivaren klarar att skriva ut på 600 punkter per tum (dpi). Om skrivaren inte kan skriva ut med den här upplösningen kan du ändra värdet på den tredje raden i makrot till ett lämpligt värde för skrivaren (till exempel 150, 300, 600 eller 1200).

När du har kört det här makrot använder alla kalkylblad samma inställning för utskriftskvalitet och beteendet inträffar inte längre.

Status

Detta är avsiktligt.

Mer information

Följande steg demonstrerar beteendet:

  1. Skapa en ny arbetsbok som innehåller tre kalkylblad, till exempel Blad1, Blad2 och Blad3.

  2. Ange följande värden i varje kalkylblad:

    Blad1:

    A1: Blad1 - 300 DPI

    Blad2:

    A1: Blad2 – 600 DPI

    Blad3:

    A1: Blad3 – 300 DPI

  3. Klicka på Blad1. Klicka på UtskriftsformatArkiv-menyn och klicka sedan på fliken Sida. I listan Utskriftskvalitet klickar du på "300 dpi" och klickar på OK.

  4. Upprepa steg 3 för Blad2 och Blad3 och ange utskriftskvalitet till "600 dpi" respektive "300 dpi".

    Observera att varje kalkylblad har olika utskriftskvalitet än det kalkylblad som föregår det.

  5. Högerklicka på bladfliken för Blad1. Klicka på Markera alla blad på snabbmenyn.

  6. Klicka på Skriv ut i menyn Arkiv. Markera kryssrutan Skriv till fil i avsnittet Skrivare i dialogrutan Skriv ut. Klicka sedan på OK.

Följande beteende kan uppstå:

  • Om du använder en skrivardrivrutin som är ansluten till FILE: port visas dialogrutan Skriv till fil tre gånger.
  • Om du använder en skrivardrivrutin som är ansluten till LPT1:, LPT2:, eller någon annan port som är ansluten till en skrivare, visas dialogrutan Skriv till fil bara en gång för Blad1. De andra kalkylbladen skrivs ut på skrivaren.
  • Om du använder ett Visual Basic-makro för att skriva ut kalkylbladen kan dialogrutan Skriv ut till fil visas fler än en gång. Om du använder metoden SendKeys för att skicka namnet på utdatafilen till dialogrutan Skriv till fil kan det hända att makrot misslyckas om dialogrutan förekommer fler än en gång.

Om du ändrar utskriftskvaliteten för Blad3 till 600 dpi genereras två utskriftsjobb: en vid 300 dpi (Blad1) och en vid 600 dpi (Blad2 och Blad3). Om du ändrar utskriftskvaliteten för Blad1 till 600 dpi skapas två utskriftsjobb: en vid 600 dpi (Blad1 och Blad2) och en vid 300 dpi (Blad3).