Всегда благодарим вас за сотрудничество.
Я хотел бы получить совет: доступна ли активность «Изменить имя листа» только в рамках активности работы с файлом Excel?
У меня есть робот, который использует только диапазон приложения, и из-за этого менять его на активность работы с файлом Excel было бы затруднительно. Если есть способ изменить имя листа, пожалуйста, дайте знать.
Я хотел бы уточнить, можно ли использовать активность «Переименовать лист» только внутри активности использования Excel-файла.
Я считаю, что это так.
В качестве решения я думаю, что вам следует заменить область приложения Excel на активность использования Excel-файла (область процесса Excel).
(Активности под областью приложения Excel также будут работать под активностью использования Excel-файла.)
Здравствуйте, @Teo
Да, активность Переименовать лист из современных Excel-активностей требует контейнер ресурса Использовать файл Excel для правильной работы.
Если вы предпочитаете использовать классический Excel Application Scope, вы можете переименовать лист непосредственно с помощью VBA/Макросов или активности Invoke Code, не переходя на современные активности во всем вашем процессе.
Привет, @Teo,
Если файл является рабочей книгой Excel, то лучше всего использовать активности Excel/Workbook для переименования листов, а не автоматизацию интерфейса, так как это более стабильно и удобно для поддержки.
Добро пожаловать в сообщество и спасибо, что подняли этот вопрос,
Пожалуйста, найдите мой ответ ниже,
Вы можете попробовать использовать
Sub RenameSheet()
ThisWorkbook.Sheets(“Sheet1”).Name = “NewSheetName”
End Sub
С использованием активности Invoke VBA это сработает. Дайте знать, если это сработает. Нажмите на кнопку решения, это поможет другим, кто столкнется с той же проблемой.
Да, активность Переименовать лист работает в рамках Excel-связанных активностей/контекста, потому что ей нужен контекст книги Excel.
Если ваш робот использует только Контекст приложения, вы можете использовать Контекст процесса Excel / Использовать файл Excel, а затем использовать Переименовать лист внутри него.
В качестве альтернативы, если вы не хотите использовать активность Excel, вы можете переименовать лист с помощью Invoke Code с API Excel Interop, но это более сложно и обычно не рекомендуется.
Вы можете использовать активность “Использовать файл Excel”, но только для изменения имени листа, чтобы не нарушать весь процесс. Это будет вложено в вашу существующую активность “Область Excel” для переименования листа.
В противном случае, если вы не хотите использовать активность “Файл Excel”, вы также можете попробовать использовать “Вызов кода” или “Выполнить макросы”.