2016-06-29 12 views
5

私が使用してNumbersスプレッドシートでセルの書式を設定することができます。AppleScriptを使用してNumbersセルの小数点以下の桁数を設定するにはどうすればよいですか?

tell application "Numbers" 
    activate 
    tell document 1 
     tell active sheet 
      set the selectedTable to ¬ 
       (the first table whose class of selection range is range) 
     end tell 
     tell selectedTable 
      tell column "J" 
       set the format of cell 3 to number 
      end tell 
     end tell 
    end tell 
end tell 

しかし、どのように私は、セルの小数点以下の桁数を設定するのですか?

答えて

2

残念ながらNumbersのAppleScript辞書ではtを設定できません小数点以下桁数ですが、GUIスクリプティングで行うことができます。

GUIスクリプトが強くソフトウェアのバージョンに依存しているので、これはNumbers 3.6.2英語以外のシステムの言語で

tell application "Numbers" 
    activate 
    tell document 1 
     tell active sheet 
      set the selectedTable to ¬ 
       (the first table whose class of selection range is range) 
     end tell 
     tell selectedTable 
      tell column "J" 
       set the format of cell 3 to number 
      end tell 
     end tell 
    end tell 
end tell 

tell application "System Events" 
    tell process "Numbers" 
     tell radio group 1 of window 1 
      if value of radio button "Cell" is 0 then 
       click radio button "Cell" 
       repeat until value of radio button "Cell" is 1 
        delay 0.2 
       end repeat 
      end if 
     end tell 
     tell text field 1 of scroll area 4 of window 1 
      set value of attribute "AXFocused" to true 
      set value to "2" 
      keystroke return 
     end tell 
    end tell 
end tell 

ためCellがローカライズされるかもしれない文字列リテラルです。

2

残念ながら私は数字を持っていないので、自分で辞書を直接見ることはできませんが、理論的には小数点以下の桁のプロパティを持つべきです。

Thisページでは、アプリケーションで小数点以下の桁数を手動で変更する方法について説明しています。だから、それはあなたがスクリプトで同様にできるはずであるという理由に立つだろう。

tell application "Numbers" 
    tell document 1 
     tell selectedTable 
      tell column "J" 
       set props1 to properties of cell 3 
       set props2 to properties of format of cell 3 
      end tell 
     end tell 
    end tell 
end tell 

は、前のコード例に含まれているものをprops1とprops2を見てみましょう...あなたはこれらの線に沿って何かをやって試してみました。運があれば、そのうちの1人は「小数点以下の桁」(または同様のもの)を参照します。申し訳ありませんが、私のコードで間違いがありましたが、私が言及したように、私は数値を実際にテストする必要はありません。

2

残念ながら、少なくともNumbers v3.6.2ではこれが可能ではないと私は信じています。番号辞書は、「小数」プロパティがcellまたはrangeクラス

スクリプトを撮影し、それを実行するために存在していないことを示しています

{vertical alignment:top, row:row "3" of table 1 of sheet 1 of document id "6F1021A0-BA54-47A2-A2DE-15B7E8DAFCED" of application "Numbers", class:cell, font name:"Helvetica", formatted value:"1.2345E+02", background color:missing value, formula:missing value, name:"J3", text wrap:true, text color:{0, 0, 0}, alignment:auto align, column:column "J" of table 1 of sheet 1 of document id "6F1021A0-BA54-47A2-A2DE-15B7E8DAFCED" of application "Numbers", format:scientific, font size:10.0, value:123.45} 

tell application "Numbers" 
    activate 
    tell document 1 
     tell active sheet 
      set the selectedTable to ¬ 
       (the first table whose class of selection range is range) 
     end tell 
     tell selectedTable 
      tell column "J" 
       set the format of cell 3 to number 
       get properties of cell 3 
      end tell 
     end tell 
    end tell 
end tell 

は性質を明らかにする。いずれも小数点以下のプロパティのようには見えません:-(

関連する問題