私はAppleScriptに関するヘルプを探しています(残念なことに作業上の理由からAppleScriptに限られています)。具体的には、その列の各セルをコピーして貼り付ける際にExcelの列をループする方法を理解できません。AppleScript(列まで)(空になるまで)、コピーしてWebフォームに貼り付けてください
は、ここで私がこれまで持っていないものです:
to clickID(theId) -- clickID function start
tell application "Safari"
do JavaScript "document.getElementById('" & theId & "').click();" in document 1
end tell
end clickID
--__________________________________________
tell application "Microsoft Excel"
activate
open "Filepath/Starfox Tester.xlsx" --changed filename for privacy
get active workbook
select cell "A2" --Headers will be in column A1, hence why selecting A2
tell application "System Events" to tell process "Microsoft Excel" to keystroke "c" using command down
end tell
do shell script "open -a Safari 'https://google.com'"
delay 2 --for website to load
clickID("lst-ib")
tell application "System Events" to tell process "Safari" to keystroke "v" using command down
は、これまでのところ、これは動作します。手動で行う方法を理解していますが、このスクリプトを実行するたびに列の行数が変わるため、空のセルが見つかるまでループする必要があります。
ご協力いただければ幸いです。ありがとうございました!
更新: 私はそれを行う最も簡単な方法は、if elseループかもしれないと思います。私の基本的なアイデアは、参照のセルが空白でない場合、ハンドラ(関数)を実行することです。私はおそらく50個以上の細胞を持っていないので、私は(A1 - A50)でそれをハードコーディングし、そのたびにハンドラを実行するつもりです。
現在、ハンドラのコーディング方法を理解しようとしています。ここで私はこれまで持っているものです。
to populateVal(cellValue)
tell application "Microsoft Excel"
get active workbook
select cellValue
tell application "System Events" to tell process "Microsoft Excel" to keystroke "c" using command down
activate Safari
clickID("lst-ib")
tell application "System Events" to tell process "Safari" to keystroke "c" using command down
end tell
end populateVal
do shell script "open -a Safari 'https://google.com'"
tell application "Microsoft Excel"
activate
open "Filepath/Starfox Tester.xlsx"
if cell "A2" ≠ "" then
populateVal("A2")
else
display dialog "Done!"
end if
end tell
私は現在、Excelが「populateValを続行できません」というエラーを取得しています。私がA2のまわりのかっこを取り除くと、A2が "定義されていない"というエラーが出ます。どんな助けもありがとう!