パスワードを忘れた? アカウント作成
15465717 journal
Windows

route127の日記: autohotkeyでexcel文字色変更時のマウスカーソル移動量短縮スクリプト

日記 by route127

excelで文字色を黒→赤、赤→黒に変換する機会が頻繁にあるのだが、その度にマウスカーソルを選択中のセルからリボン上に移動させ、さらにカラーパレットを表示させて文字色を選ぶという操作が煩雑に感じられて来た。
autohotkeyでセル文字の赤色化のホットキーを作成しようかとか、ホットキーで赤黒をトグルで切り替えようか、とかも考えたがなんか違うな、といろいろ考えていてひとまずセル選択して左手のホットキーで現在のマウスカーソル位置に黒か赤かの文字色選択メニューを出すようにした。

などと書くと大仰だが、既存のスクリプトを組み合せれば実現可能であることは分かっていた。
excelの文字色についてはexcelのショートカットキー(自分のマシンだとalt hff1だった)を利用する方法やCOMオブジェクトを利用する方法が既に発表されている。
メニュー表示についてはahkwikiに説明があるが、かっこ挿入での実例を参考にした。

Menu, test, Add, red
Menu, test, Add, black
return
 
red:
  IfWinNotActive, ahk_class XLMAIN
  {
    MsgBox % "Excel is not active. No action will be performed."
  Return
  }
  try
    epExcel := ComObjActive("Excel.Application")
  catch
  {
    MsgBox % "Unable to execute the shortcut."
    Return
  }
  try
    epExcel.Selection.Font.ColorIndex := 3
  catch
  {
    MsgBox % "Unable to set the color."
  }
  epExcel :=
return
 
black:
  IfWinNotActive, ahk_class XLMAIN
  {
    MsgBox % "Excel is not active. No action will be performed."
    Return
  }
  try
    epExcel := ComObjActive("Excel.Application")
  catch
  {
    MsgBox % "Unable to execute the shortcut."
    Return
  }
  try
    epExcel.Selection.Font.ColorIndex := 0
  catch
  {
    MsgBox % "Unable to set the color."
  }
  epExcel :=
return
 
^+c::Menu, test, Show

セルを選択した状態でctrl+shift+cを押下しメニューを表示してから赤黒選択みたいなことをしていたが、そもそもセルの右クリックメニューで文字色は変えられるのだった。
しかも他のマシンのexcelではComObjActiveのところでこけてうまく動かなかった。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」

読み込み中...