Цикл Office Script For-each для поиска текста в столбце

Я попытался создать сценарий Office, который перебирает каждую строку и находит строку с текстом «Всего» в столбце A, а затем удаляет эту строку. Мне не удалось заставить его работать, кто-нибудь знает, как это изменить?

function main(workbook: ExcelScript.Workbook) {

  //getting the used range in the worksheet
  let usedRange = workbook.getActiveWorksheet().getUsedRange();

  //getting the row count of the used range
  let lastRow = usedRange.getRowCount();

  usedRange = workbook.getActiveWorksheet().getRangeByIndexes(0, 0, (usedRange.getRowIndex() + lastRow), 19)

  //getting the values of the range
  let values = usedRange.getValues();

  //getting the row count of the range
  let rowCount = usedRange.getRowCount();

  //for every row starting at the last row, checking if the cell in column 'A' contains text "Total". If it is, then delete the entire row. 
  for (let i = rowCount - 1; i >= 0; i--) {
    if (values[i][18] == "Total") {
      usedRange.getCell(i, 1).getEntireRow().delete(ExcelScript.DeleteShiftDirection.up)
    }
  }

}

Пожалуйста, покажите свой сценарий и весь соответствующий код (минимальный воспроизводимый пример — stackoverflow.com/help/минимально-воспроизводимый-пример) здесь, чтобы мы лучше знали, с чем имеем дело.

user1599011 18.03.2022 16:27

`@user1599011 Я загрузил свой код, но он не включает удаление строки, содержащей «Всего» в столбце A.

Rosenz5 18.03.2022 16:31

Пожалуйста, уточните вашу конкретную проблему или предоставьте дополнительную информацию, чтобы выделить именно то, что вам нужно. Как сейчас написано, трудно точно сказать, о чем вы спрашиваете.

Community 18.03.2022 16:31

Должно быть понятно, о чем я спрашиваю. Я хочу удалить строку первой ячейки с текстом «Всего» в столбце А.

Rosenz5 18.03.2022 16:34

В вашем коде нет ссылки на «Всего»; пожалуйста, включите вашу попытку достичь этой цели.

user1599011 18.03.2022 16:35

Я не могу включить его, так как я не знаю, как его написать, я надеялся, что кто-то еще знает, как решить эту проблему.

Rosenz5 18.03.2022 16:39

@Rosenz5 - I was hoping someone else would know how to tackle the problem мы здесь не для этого, мы поможем вам решить проблемы в существующем коде, для которых вы не можете найти решение, мы не будем использовать наше свободное время для написания кода для кого-то еще, это работа, и люди заслуживают того, чтобы им платили за это

Can O' Spam 18.03.2022 16:56

@user1599011 user1599011, теперь я отредактировал исходный вопрос с правильным кодом, который я пытался создать. Что я делаю не так в коде? Заранее спасибо.

Rosenz5 18.03.2022 17:03

@CanO'Spam Я отредактировал исходный вопрос с правильным кодом, который я пытался создать. Что я делаю не так в коде? Заранее спасибо.

Rosenz5 18.03.2022 17:03

Каков результат, когда вы запускаете свой код как есть? Чем это отличается от ожидаемого вами результата?

user1599011 18.03.2022 17:30

Я думаю, вы хотите опубликовать свой вопрос на доске Office-Scripts. Я бы разместил ваш ответ там или добавил его в теги. stackoverflow.com/questions/tagged/office-скрипты

Brian Gonzalez 18.03.2022 17:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
12
116
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, что ваша проблема в этой строке:

if (values[i][18] == "Total") {

Первый массив [i] принимает аргумент, соответствующий строке на листе Excel. Второй массив [18] принимает аргумент, соответствующий столбцу на листе Excel. Поскольку массивы основаны на нуле, первый столбец, столбец A, будет соответствовать нулевому индексу. Так что вам просто нужно обновить значение с 18 до 0. И он должен выполнить эту проверку в столбце A. Таким образом, обновленный код будет выглядеть так:

  if (values[i][0] == "Total") {

Другие вопросы по теме