2014-07-23 7 views
0

Microsoft Excel 스프레드 시트를 정리하는 아주 간단한 스크립트가 있습니다. 그것은 내 컴퓨터에서 완벽하게 작동하지만, 동료에게 보내려고하면 그 사람에게는 효과가 없었습니다. 여기에 코드입니다 : 내 동료가이 스크립트를 실행하려고 할 때, 그는 다음과 같은 오류받은 이 스크립트는 내 컴퓨터에서 작동하지만 다른 컴퓨터에서는 작동하지 않는 이유는 무엇입니까?

tell application "Microsoft Excel" 
    tell worksheet "Sheet1" of active workbook 
    delete column 22 
    delete column 21 
    delete column 20 
    -- this continues until column 1 
    delete column 1 
end tell 
tell worksheet "Sheet1" of active workbook 
    set value of cell "E27" to "=D27-2500" 
    set value of cell "E28" to "=D28-2500" 
    -- this continues a number of times as well 
    set value of cell "E58" to "=D58-2500" 
    set value of cell "F3" to "MEAN" 
    set value of cell "G3" to "MEDIAN" 
    set value of cell "H3" to "ST DEV" 
    end tell 
end tell 

:

error "Microsoft Excel got an error: Can’t set «class pval» of cell \"E27\" of «class cXLW» \"Sheet1\" to \"=D27-2500\"." number -10006 from «class pval» of cell "E27" of «class cXLW» "Sheet1" 

는 또한, 자신의 애플 스크립트 편집기 코드를 변경을, 같은 그

delete column 22 

«event XCELdelo» column 22 
로 변신 0

set value of cell "E27" to "=D27-2500" 

어떻게이 스크립트는 내 동료의 컴퓨터에서 작동하도록 할

set «class pval» of cell "E27" to "=D27-2500" 

로 변신?

+1

컴퓨터 및 Excel 버전에 대한 자세한 내용을 제공해야합니다. –

답변

0

다른 버전의 Excel을 실행하고있을 가능성이 있습니다. 내가 추천하는 것은 동료가 업그레이드하거나 업그레이드하는 것입니다. 스크립트를 업그레이드해야하는 경우 스크립트를 수정해야 할 수도 있습니다.

그러나 스크립트는 여전히 다른 버전에서 작동 할 수 있습니다. 이것이 효과가 있는지보기 위해 할 수있는 일이 있습니다.

동료의 컴퓨터에서 스크립트 편집기로 스크립트를 열고 다시 컴파일 한 다음 실행하여 오류가 있는지 확인하십시오.

0

AppleScript로 텍스트를 컴파일 할 때 AppleScript 편집기는 대상 응용 프로그램의 AppleScript 사전 및 실행중인 Mac OS에 따라 텍스트를 최소한 약간 변경합니다. 귀하의 컴퓨터에서 귀하의 AppleScript는 귀하의 OS X 버전에서 귀하의 Excel 버전을 타겟팅합니다. 동료의 컴퓨터에서 AppleScript는 해당 버전의 OS X에서 Excel의 버전을 타겟팅합니다. Excel 버전이 다른 경우 응용 프로그램 "Excel"을 대상으로하는 AppleScript 코드 블록이 각 시스템에서 다르게 컴파일됩니다. 동료의 시스템에서 사용했던 명령과 속성 중 일부는 존재하지 않으므로 "삭제"대신 "이벤트 XCELdelo"와 같은 원시 Apple 이벤트가 표시됩니다. OS X 버전이 다른 경우 AppleScript의 다른 버전을 그대로 사용하고 있기 때문에 문제가 될 수도 있습니다. 사용으로

  1. 의 Excel과 동일한 버전을 사용하고 OS X의 가능성이 동일한 버전 : 동료가 엑셀 애플 스크립트를 실행하고자 할 경우

    , 그 또는 그녀는 다음 중 하나를 수행해야합니다

  2. 사용하는 Excel 버전의 AppleScript 사전과 크게 다를 수있는 AppleScript 사전에 기반한 AppleScript 사전을 사용중인 Excel 버전으로 다시 작성하십시오. 예를 들어, "지우기"명령으로 "지우기"명령을 실행하거나 자신의 Excel 버전에 "지우는 중"에 해당하는 명령이 없을 수 있습니다."
  3. 당신은 같은 것을 사용 한마디로

:

tell application "Excel" 

을 ... 당신은 정말 말을 그것을 생각해야한다 :

tell application "Excel 10 on Mac OS X 10.9" 

... 또는 Excel의 어떤 버전 및 OS X을 사용하고 있습니다. AppleScript가 다른 버전의 Excel 및/또는 OS X에서 실행된다는 보장이 없습니다.