Just nu i M3-nätverket
Gå till innehåll
Locutus

LÖST VBA: olika utskrift i olika Excelversioner

Rekommendera Poster

Jag gör ett VBA makro i Excel för att formatera radhöjd mm på en lista. Beroende på en kolumns nummervärde så sätter jag in en radbrytning och räknar antal rader inom intervallet och delar så de precis ska få plats på en sida vid utskrift.

Problemet är att jag vid utskrift från äldre Excelversioner (som vissa användare har) får bra utskrifter, men senaste Excel i vissa fall lägger en rad på egen sida.

 

Finns det något sätt att vara säker på att utskrifterna blir som man vill i alla versioner av Excel? Vad bör jag tänka på? Marginalerna är satta så snävt som möjligt i VBA-koden.

 

Jag kan inte konvertera till .pdf eftersom informationen inte får sparas på datorn, vilket annars var en idé jag hade.

 

Tacksam för hjälp.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Undrar om du inte får skapa två versioner av koden, en för äldre versioner av Excel och en för nyare. Det går att göra versionskoll när koden körs och därefter välja väg.

 

Application.Version

kan du undersöka när koden körs, där har du versionsnummer på Excel.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Postad (redigerade)

Undrar om det inte går att lösa problemet via:

 

worksheet.fit_to_pages()

 

fit_to_pages(width, height)

 

Fit the printed area to a specific number of pages both vertically and horizontally.

 

Parameters:

  • width (int) – Number of pages horizontally.
  • height (int) – Number of pages vertically.

The fit_to_pages() method is used to fit the printed area to a specific number of pages both vertically and horizontally. If the printed area exceeds the specified number of pages it will be scaled down to fit. This ensures that the printed area will always appear on the specified number of pages even if the page size or margins change:

worksheet1.fit_to_pages(1, 1)  # Fit to 1x1 pages.
worksheet2.fit_to_pages(2, 1)  # Fit to 2x1 pages.
worksheet3.fit_to_pages(1, 2)  # Fit to 1x2 pages.

Informationen kommer från följande sida:

http://xlsxwriter.readthedocs.org/en/latest/page_setup.html

 

 

Redigerad av Ove Söderlund

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

 

Undrar om det inte går att lösa problemet via:

 

worksheet.fit_to_pages()

 

fit_to_pages(width, height)

 

Fit the printed area to a specific number of pages both vertically and horizontally.

 

Parameters:

  • width (int) – Number of pages horizontally.
  • height (int) – Number of pages vertically.

The fit_to_pages() method is used to fit the printed area to a specific number of pages both vertically and horizontally. If the printed area exceeds the specified number of pages it will be scaled down to fit. This ensures that the printed area will always appear on the specified number of pages even if the page size or margins change:

worksheet1.fit_to_pages(1, 1)  # Fit to 1x1 pages.
worksheet2.fit_to_pages(2, 1)  # Fit to 2x1 pages.
worksheet3.fit_to_pages(1, 2)  # Fit to 1x2 pages.

Informationen kommer från följande sida:

http://xlsxwriter.readthedocs.org/en/latest/page_setup.html

 

 

 

Tack. .Det verkar som en bra lösning. Jag fick justera litet i koden för att det skulle fungera, hoppas nu bara att det inte är en lösning som går sönder efter ett tag (ny Excelversion etc.). Hade hoppats på en smidig universell lösning. Fungerar för tillfället.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...