Maybe try this
Function convertRunNumber()
    { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var lastRow = Math.min(8000, sheet.getLastRow()); // Limit to 8000 rows or the last row with data  
    For (var x = 1; x <= lastRow; x++) { var runNum = sheet.getRange(x, 1).getValue(); // Get value from column A
        If (runNum) { // Check if the cell has a value
            var newRunNum = String(runNum).substring(0, 8); // Extract the first 8 characters
            sheet.getRange(x, 2).setValue(newRunNum); // Write to column B
            If (x === 2){ // Added to replicate the Range("B2").value=Newrunnum part of the vba code. sheet.getRange(2,2).setValue(newRunNum);
                } sheet.getRange(x, 2).setNumberFormat("0"); // Set number format to integer
            }
        }
    }