У меня есть окно ввода в моем фрейме Tkinter, где пользователь вводит имя рабочего листа, например, «Лист 1», и я создал функцию для удаления строк на этом листе.
Я хочу использовать эту функцию для итерации по всем рабочим листам, используя заданное имя рабочего листа.
На данный момент я достиг этого, введя положение листа, например, 0
или 1
.Но я попытался с правильным именем, и я преобразовал его как строку, но не работает.
Есть идеи?
Ниже мой код, который работает сейчас с указанием номера рабочего листа.
def delete_rows(self):
# Input the number of the worksheet of the excel file
self.j = int(self.entry_5.get())
# The user input the first row he wants to start deleting
self.row_rage_to_delete = self.entry_1.get()
#The user input the last row he wants to finish deleting
self.row_rage_to_delete2 = self.entry_2.get()
# Start iterating (looping) through the worksheets of the excel file
while self.j<len(self.wb.sheets):
self.sht = self.wb.sheets[self.j]
self.sht.range(str(self.row_rage_to_delete) + ':' + \
str(self.row_rage_to_delete2)).api.Delete(DeleteShiftDirection.xlShiftUp)
self.j += 1
tkinter.messagebox.showinfo('Warning', 'The rows have been deleted from all sheets')