シート名を取得する方法

セルにシート名を表示させる方法はあるでしょうか?

シートは1月~12月の12シートがあり、それぞれのシートにその月の日、曜日の表があります。

日、曜日は自動で計算するようにしてあります。

で、西暦と月を入力すれば日・曜日が出てくるのですが、月はシートに書いてあるのでそれを

できれば使いたいです。シート名を変えれば表の中の月も変わる...というのを実現したいです。


このようなことは可能でしょうか?

できれば、ファイル名も取得できれば西暦も自動取得できて便利なのですが、ひとまず月が

できれば目的は達成できそうです。


ご存知の方がいらっしゃいましたら、ご教示ください。

よろしくお願いします。

iMac, OS X Mavericks (10.9.3)

投稿日 2015/12/18 00:17

返信
返信: 4

2015/12/18 06:15 tunaingot への返信

1)シート名やファイル名を返すような関数や数式の使用方法はなかったと思います。

→ 数式および関数ヘルプ


2)AppleScript(+Automator)を使えばシート名やファイル名を操作したり、特定のセルにそれらを入力することはできますが、AppleScriptを実行するという手作業が(基本的に)必要です。 なので、シート名をキーボードで変更するという、ユーザー側のアクションを自動的に検知して、シート内の数式を再計算するというような機能はありません。


例えば、


tell front document of application "Numbers"



-- ファイル名を取得

set theFileName to name


--> "Practice.numbers"



-- 全てのシート名を取得

set theSheetList to name of sheets


--> {"Charts", "Date Functions", "Test"}



-- "Charts"シートの表1A1セルの値にファイル名を入力

set value of cell 1 of range "A1" of table 1 of sheet "Charts" to theFileName


end tell


といった具合のステートメンツのAppleScriptを使えば、様々な処理が可能です。 

AppleScriptで利用可能なコマンドやクラス、プロパティなどの情報は (Apple)Script Editor.appのNumbers辞書を参照します。

2015/12/19 20:46 T22T への返信

T22Tさん、返信ありがとうございます。


関数ヘルプを見てそれらしい関数がないことは何となく気づいていました...

Automatorはフォルダアクションなどの自動処理で利用してるので、それを利用する手もあるかと思いましたが、実現しようとするとかなり手間がかかりますね。

凡ミスをなくすための自動化は何とか実現しようと思うので、記載して頂いたスクリプトを参考にしてやってみたいと思います。


excelではT22Tさんの返信のとおりその機能があります。

今からexcelを購入するつもりもないので、スクリプトの併用を検討することにします。


ご丁寧な返信ありがとうございました。

2015/12/19 21:03 tunaingot への返信

度々、失礼致します。 


Automator.appで作成したサービスに対しては、システム環境設定>キーボード>ショートカット、でキーボードショートカットを割り当てることができます。 自動とはいかないまでも、キーストローク1つでAppleScriptを実行できるので、私はよく使っています。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

シート名を取得する方法

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。