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

VBA: olika utskrift i olika Excelversioner


Locutus

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.

Länk till kommentar
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.

Länk till kommentar
Dela på andra webbplatser

Ove Söderlund

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

 

 

Länk till kommentar
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.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...