Office365のWeb版Excelを、なるべく標準ノード/ライブラリで操作するアプローチ
表の値取得 IE上のExcelから指定のセルの値を取得
https://winactor.com/?ap_page=shortlink&ap_c=5513
この投稿が気になって確かめる中で、Office365のWeb版Excelを操作するアプローチを見つけました。
名前ボックスさえ掴んでしまえば、結構深いところまで自在に制御できそうです。
[Excel] エクセル[名前ボックス]のいろいろな使い方 | 情報航海術 - Office TAKU -
https://office-taku.com/201812/msoffice/excel/11900.html
WinActorが非対応の領域ですが、どうすればうまく攻略できるか、挑み甲斐がありました。
もっと効率的なアプローチもあるのかもしれません。
試して発見したアプローチ
- 自動記録アクションのライブラリ「クリック(IE)」で名前ボックスをアクティブ化
詳細設定タブでtagとidのみ指定
tag :値⇒input
id :値⇒m_excelWebRenderer_ewaCtl_NameBox - ノード「文字列送信」でセル番地とリターンを送信
送信文字列の設定例:値⇒C10※ ほかのノード/ライブラリの組み合わせも考えられそう
得られた結果
- 目的のセルにカーソルを乗せられた
- 名前に入力できる書式(例:Sheet2!M2)ならシート跨ぎ等もOK
- 名前ボックスがアクティブな状態からTab×2で、数式バーにカーソルが乗った
- ここまで来ちゃえば、任意セルの右クリックメニューも出せる
- Ctrl+GのジャンプやCtrl+Fの検索も有効
- いくつかはブラウザ側のショートカットとして反応した
- Alt+●系は利かないようで、メニューを切り替えるショートカットはないか?
感じ取った可能性
- 名前ボックスを掴む起点は、高いポテンシャルを秘めていそう
- idで制御できるなら、IE関連ライブラリも使いようがありそう
- idのみのXPathなので、ブラウザ関連ライブラリで、Chromeとかからも制御できそう
XPath://*[@id="m_excelWebRenderer_ewaCtl_NameBox"] - 考え方自体は、もちろんインストール版Excelにも有効
- もしかしたら、Googleスプレッドシートにも応用が利いちゃうのかも
Zawawa 編集済みのコメント
回答とコメントは、会員登録(無料)で閲覧できるようになります。
新規登録