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();
}