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

Symptom

När du skriver ut flera kalkylblad i Microsoft Excel kan flera utskriftsjobb genereras. Detta kan leda till att följande beteende inträffar:

  • Om du skriver ut till en fil skrivs endast några av bladen ut till filen. återstående blad skrivs ut på skrivaren.

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

    Därför genereras mer ä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 makrot misslyckas eftersom det finns flera begäranden om namn för utdatafilerna.

  • Om du skriver ut till en nätverksskrivare som används mycket kan utskriftsjobben blandas med andra användares utskriftsjobb.

Orsak

Det här beteendet uppstår 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 i utskriftskvalitetsinställningen Microsoft Excel att skapa ett nytt utskriftsjobb med hjälp av den utskriftskvalitetsinställningen.

Obs!

Det här beteendet uppstår inte när du skriver ut samma kalkylblad i tidigare versioner av Microsoft Excel.

Lösning

Om du vill kringgå det här beteendet kontrollerar du att alla kalkylblad som du skriver ut använder samma inställningar för utskriftskvalitet. Du kan göra detta 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. Microsofts supporttekniker kan hjälpa till att förklara funktionerna i en viss procedur, men de ändrar inte dessa exempel för att tillhandahålla ytterligare funktioner eller konstruktionsprocedurer för att uppfylla 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 kan skriva ut med 600 punkter per tum (dpi). Om skrivaren inte kan skriva ut med den här upplösningen ändrar du värdet på makrots tredje rad 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 visar 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

    Blad 2:

    A1: Blad2 – 600 DPI

    Blad 3:

    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 Sheet2 och Sheet3 och ange utskriftskvaliteten till "600 dpi" respektive "300 dpi".

    Observera att varje kalkylblad använder en annan utskriftskvalitet än kalkylbladet som föregår det.

  5. Högerklicka på bladfliken för Blad1. På snabbmenyn klickar du på Välj alla blad.

  6. Klicka på Skriv ut i menyn Arkiv. I avsnittet Skrivare i dialogrutan Skriv ut klickar du för att markera kryssrutan Skriv ut till fil . Klicka sedan på OK.

Följande beteende kan inträffa:

  • Om du använder en skrivardrivrutin som är ansluten till porten FILE: visas dialogrutan Skriv ut 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 ut till fil bara en gång för Blad1. De andra kalkylbladen skrivs ut till skrivaren.
  • Om du använder ett Visual Basic-makro för att skriva ut kalkylbladen kan dialogrutan Skriv ut till fil visas mer än en gång. Om du använder metoden SendKeys för att skicka namnet på utdatafilen till dialogrutan Skriv ut till fil kan makrot misslyckas om dialogrutan visas mer än en gång.

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