AppleScript & Excel: настройка диапазона на основе переменных
Я новичок в AppleScript и почти закончил собирать скрипт, чтобы взять электронную таблицу и отформатировать ее для импорта в базу данных FileMaker. Эта таблица представляет собой ежемесячный отчет о донорах, из которого я хочу извлечь только пожертвования. Ниже записей о пожертвованиях есть некоторые учетные данные в некоторых из моих столбцов импорта, которые мне нужно удалить, чтобы получить чистый импорт данных.
Вот сценарий целиком:
tell application "Microsoft Excel"
activate
set theWorkbook to open workbook workbook file name "File Path"
--Open the file that contains the DonorId for all Donors
set theWorkbook to open workbook workbook file name "File Path"
--Open the Monthly Transaction Report
set myrange_1 to range ("A1:E4")
delete myrange_1
tell worksheet "Transaction Report" of active workbook
set value of cell "A1" to "DonorID"
autofit columns of range "A1:A100"
set lastRow to ((count of rows of used range of active sheet) - 13)
set myRange_2 to range ("A2:A" & lastRow) of active sheet
set formula of myRange_2 to "=VLOOKUP($C$2:$C$100,'[Donor ID.xlsx]Sheet1'!$A$1:$B$60, 2, FALSE)"
set value of cell "F1" to "Donation Method"
set myRange_3 to range ("F2:F" & lastRow) of active sheet
set formula of myRange_3 to "=IF(D2=\"\",\"Check\", IF(D2=\"CC\",\"Credit Card\", IF(ISNUMBER(SEARCH(\"E\",D2)),\"EFT\",\"#N/A\")))"
try
set myRange_2 to find what "#N/A" look at whole with match case
on error
log ("No matches found")
end try
if (myRange_2 is not "") then
display dialog "New Donor @ " & (get address of the cells of myRange_2)
end if
set myRange_4 to range ("A" & lastRow + 1)
set myRange_5 to range ("F" & lastRow + 13)
end tell
end tell
Все отлично работает, за исключением того, что я не могу найти способ использовать переменные для установки диапазона ячеек для удаления. Этот диапазон от столбца 1 до 5 от lastRow +1 до lastRow +13. Я попытался установить диапазон на основе "myRange_4:myRange_5", но я не могу заставить его работать. Любая помощь будет принята с благодарностью!
1 ответ
Вот решение
set rangeToDelete to range ("A" & (lastRow + 1)) & “:F” & ( lastRow + 13)