LoginSignup
6
3

More than 3 years have passed since last update.

【AutoHotKey】PowerPointのショートカットを作りたい!

Posted at

注意

この記事はMS Office PowerPointの既存機能では賄えないショートカットをAutoHotKeyを用いて作ろうという趣旨になっています。

PowerPointをいじっている時にAltを多用するような、"変態に片足突っ込んでいる方"を対象とした内容となっており、決してCtrl+A,S,C,Vとかを使える"正常な人"は対象としていませんのでご注意ください。

AutoHotKeyとは?

簡潔に言うとキーボード改造ツールで、キーにいろんな役割を持たせることができます。
ゲーミングキーボードのマクロ機能みたいなものですね(ゲームやらないので詳しく知りませんが)。

例えば私のPCはAppsKey + H,J,K,Lに方向キーが割り当てられており、いちいち方向キーに指を伸ばさなくても上下左右への移動ができるようになっています。

AutoHotKeyについては先人が分かりやすく説明されているので、以下ご参照ください。

[Windows 10] 矢印キーに指を伸ばすエンジニアはザコ!とバカにされた(Change KeyとAutoHotkeyの導入)
https://qiita.com/riekure/items/49b941fa5159f9948313

PowerPointのショートカットキーを作る

扨、今回は以下3つのショートカットキーを作ります。

・無変換 + N:「図形内でテキストを折り返す」のOn/Off
・無変換 + M:枠線の実線/破線の変更
・無変換 + < >:枠線を細くする/太くする

因みに2個目と3個目は既存ショートカット(Alt + H + S + O + S/W)がありますが、よく使うのでショートカットが欲しいと思った次第。

それではどうぞ

AutoHotKey.ahk
#SingleInstance, force
#NoEnv
SetTitleMatchMode 1
DetectHiddenWindows, On
SetBatchLines -1
SetControlDelay, -1
SetWinDelay, -1
SetMouseDelay, -1
SendMode Input
ListLines Off

vk1D & N::
WinActivate, ahk_class screenClass ahk_exe POWERPNT.EXE
Try
    {
    Tooltip
    ppt := ComObjActive("PowerPoint.Application")
    SetFormat, FloatFast, 0.2
    Current_WordWrap := ppt.ActiveWindow.Selection.ShapeRange.TextFrame2.WordWrap
    if (Current_WordWrap = 0){
        ppt.ActiveWindow.Selection.ShapeRange.TextFrame2.WordWrap := -1
    }
    else if (Current_WordWrap = -1){
        ppt.ActiveWindow.Selection.ShapeRange.TextFrame2.WordWrap := 0
    }

    }
Return

vk1D & M::
WinActivate, ahk_class screenClass ahk_exe POWERPNT.EXE
Try
    {
    Tooltip
    ppt := ComObjActive("PowerPoint.Application")
    SetFormat, FloatFast, 0.2
    Current_DashStyle := ppt.ActiveWindow.Selection.ShapeRange.Line.DashStyle
    if (Current_DashStyle = 1){
        ppt.ActiveWindow.Selection.ShapeRange.Line.DashStyle := 4
    }
    else if (Current_DashStyle = 4){
        ppt.ActiveWindow.Selection.ShapeRange.Line.DashStyle := 1
    }

    }
Return

vk1D & ,::
WinActivate, ahk_class screenClass ahk_exe POWERPNT.EXE
Try
    {
    Tooltip
    ppt := ComObjActive("PowerPoint.Application")
    SetFormat, FloatFast, 0.2
    Current_Thickness := ppt.ActiveWindow.Selection.ShapeRange.Line.Weight
    ppt.ActiveWindow.Selection.ShapeRange.Line.Weight:= Current_Thickness - 0.25
    Tooltip, % "Width: " Current_Thickness - 0.25
    SetTimer, RemoveToolTip, 1000
    }
Return


vk1D & .::
WinActivate, ahk_class screenClass ahk_exe POWERPNT.EXE
Try
    {
    Tooltip
    ppt := ComObjActive("PowerPoint.Application")
    SetFormat, FloatFast, 0.2
    Current_Thickness := ppt.ActiveWindow.Selection.ShapeRange.Line.Weight
    ppt.ActiveWindow.Selection.ShapeRange.Line.Weight:= Current_Thickness + 0.25
    Tooltip, % "Width: " Current_Thickness + 0.25
    SetTimer, RemoveToolTip, 1000
    }
Return


結論

これであなたも変態の仲間入り

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3