Excel 365 - enkelt formateringsscript gör ändå fel...

Permalänk
Medlem

Excel 365 - enkelt formateringsscript gör ändå fel...

Hej!
Jag får ett gäng Excelfiler med jämna mellanrum som jag alltid måste formatera vilket är tradigt så jag försöker automatisera det med ett makro/script. Jag spelar in mina formateringsändringar i en följd, men sen när jag testkör dem på samma origianldokument så blir inte resultatet detsamma. Kolumn K blir inte 80 bred utan väsentligt mindre. Och kolumner som jag har tömt på oviktigt innehåll blir ursmala och man ser dem nästan inte (som de två kolumnerna till vänster om K).

Scriptet är ju busenkelt, och som sagt, när jag spelar in det så blir kolumnbredderna som de ska.

Fattar inte vad jag gör för fel.

function main(workbook: ExcelScript.Workbook) { let selectedSheet = workbook.getActiveWorksheet(); // Delete range 2:8 on selectedSheet selectedSheet.getRange("2:8").delete(ExcelScript.DeleteShiftDirection.up); // Apply cell style on range 3:3 on selectedSheet selectedSheet.getRange("3:3").setPredefinedCellStyle("Neutral"); // Set font size to 12 for range 3:3 on selectedSheet selectedSheet.getRange("3:3").getFormat().getFont().setSize(12); // Set font color to "#9C5700" for range 3:3 on selectedSheet selectedSheet.getRange("3:3").getFormat().getFont().setColor("#9C5700"); // Set font bold to true for range 3:3 on selectedSheet selectedSheet.getRange("3:3").getFormat().getFont().setBold(true); // Auto fit the columns of all cells on selectedSheet selectedSheet.getRange().getFormat().autofitColumns(); // Clear ExcelScript.ClearApplyTo.contents from range C:D on selectedSheet selectedSheet.getRange("C:D").clear(ExcelScript.ClearApplyTo.contents); // Clear ExcelScript.ClearApplyTo.contents from range I:J on selectedSheet selectedSheet.getRange("I:J").clear(ExcelScript.ClearApplyTo.contents); // Clear ExcelScript.ClearApplyTo.contents from range L:M on selectedSheet selectedSheet.getRange("L:M").clear(ExcelScript.ClearApplyTo.contents); // Set range A3 on selectedSheet selectedSheet.getRange("A3").setValue("No."); // Auto fit the columns of all cells on selectedSheet selectedSheet.getRange().getFormat().autofitColumns(); // Set width of column(s) at range I:I on selectedSheet to 2 selectedSheet.getRange("I:I").getFormat().setColumnWidth(2); // Set width of column(s) at range J:J on selectedSheet to 2 selectedSheet.getRange("J:J").getFormat().setColumnWidth(2); // Set width of column(s) at range C:C on selectedSheet to 2 selectedSheet.getRange("C:C").getFormat().setColumnWidth(2); // Set width of column(s) at range D:D on selectedSheet to 2 selectedSheet.getRange("D:D").getFormat().setColumnWidth(2); // Set width of column(s) at range K:K on selectedSheet to 80 selectedSheet.getRange("K:K").getFormat().setColumnWidth(80); // Set wrap text to true for range K:K on selectedSheet selectedSheet.getRange("K:K").getFormat().setWrapText(true); // Indent set to 0 for range K:K on selectedSheet selectedSheet.getRange("K:K").getFormat().setIndentLevel(0); // Auto fit the rows of range K:K on selectedSheet selectedSheet.getRange("K:K").getFormat().autofitRows(); }

Permalänk
Medlem

Nevermind, jag gjorde ett VBA-makro istället.