2014-01-17 1 views
0

저는 AppleScript 초보자이며 스프레드 시트를 가져 와서 다른 응용 프로그램으로 가져 오기 위해 서식을 지정하기위한 스크립트를 작성하기 시작했습니다. 그것은 기증자 ID가없는 월별 기증 표입니다. 따라서 기증자를 다른 시트에 기증하기 위해 VLOOKUP 함수를 할당하고 옆에있는 셀에 할당하십시오 기증자의 이름. 모든 알려진 기증자는 ID를 입력하고 알 수없는 기증자는 "# N/A"를 반환합니다. 스크립트의이 부분은 훌륭하게 작동합니다. 이제 셀 범위에서 "# N/A"값을 검색하고 "New Donor"표시 경고가 있으면이를 반환하는 방법을 찾아야합니다. 그 범위의 셀 각각에서 정확한 값을 찾기 위해 셀 범위를 검색하는 가장 좋은 방법을 알아 내려고 인터넷을 샅샅이 뒤 졌어. 하나 있으면 경고를 되풀이하지만 내가 할 수 있었던 것을 발견하지 못했다. 일하기 위해서. 여기에 내가 가진 무엇 :AppleScript 및 Excel : 특정 값에 대한 검색 범위 및 발견 된 경우 반환 경고

tell worksheet "Sheet 1" of active workbook 
    set value of cell "A5" to "DonorID" 
    autofit columns of range "A1:A100" 
    set lastRow to ((count of rows of used range of active sheet) - 13) 
    set myRange to range ("A6:A" & lastRow) of active sheet 
    set formula of myRange to "=VLOOKUP($C$6:$C$90,'[Donor ID.xlsx]Sheet1'!$A$1:$B$60, 2, FALSE)" 
    set value of cell "F5" to "Donation Method" 
    set myRange2 to range ("F6:F" & lastRow) of active sheet 
    set formula of myRange2 to "=IF(D6=\"\",\"Check\", IF(D6=\"CC\",\"Credit Card\", IF(ISNUMBER(SEARCH(\"E\",D6)),\"EFT\",\"#N/A\")))" 
    end tell 

그래서 내가 A6의 lastRow의의 범위에있는 각 셀의 값을 검색하는 데 필요한 값 "#의 N/A"에 대한 (기증자의 양을 매월 변경) 및 있다면, "New Donor"라고 경고하는 메시지가 나타납니다. 내가 성공하지이 시도했습니다 일이있을 때

if myRange contains the value "#N/A" then 
    display alert "New Donor" 
    end if 

은 그것은 "#의 N/A"를 선택하지 않습니다. 나는 다른 것들도 시도해 봤지만 더 악화되었다. AppleScript 지식에 대한 나의 부족함은 나에게 실망 스럽다. 필자는이 스크립트로 끝내기에는 너무 가깝지만이 장애물을 극복 할 수는 없다. 어떤 의견을 보내 주셔서 감사합니다!

답변

0

find 명령, 당신은 무엇을해야 아래 코드를 확인하고 코드에 맞게 범위 값으로 재생한다.

배수를 찾고 처리해야하는 경우 answer의 부분을 찾아보십시오.

tell application "Microsoft Excel" 

    try 
     set found_range to find (range "A:A") what "#N/A" look at whole with match case 
    on error 
     log ("No matches found") 
    end try 

    if (found_range is not "") then 
     display dialog "You found one @ " & (get address of the cells of found_range) 
    end if 

end tell 

Excel은 AppleScripting 괴상한 일 수 있습니다. Excel은 다소 둔감하지만 지원은 모두 있습니다.

+0

위대한 작품! 고마워요! – pnomads

0

하나 (불행한) 방법 :

repeat with i from 6 to lastrow 
    set end of myList to cell ("Sheet1!A" & i) string value 
end repeat 
if myList contains the value "#N/A" then display alert "New Donor" 

AppleScript로 목록 및 Excel 범위는 다른 데이터 유형, 검색의 따라서 무용이다. 너는 너의 것을 굴려야 해.

... 믹