家・車以外で、人生で一番奮発した買い物

現在、エクセルで以下のようなマクロをアドインとして作成して、「CTRL+,」と「CTRL+.」で表示倍率を変えれるようなショートカットを割り当ててます。
同じことをパワーポイントでアドインを作成してやろうとすると、Application.OnKeyのところでエラーになってしまいます。同じVBAでも違うんでしょうか。
PowerPointで同じことをやろうとするとどうすればいいでしょうか?
ご存知の方がいらっしゃれば教えてください。
====================================================
Option Explicit
Sub auto_open()
Start 1
End Sub
Sub Start(num%)
Dim myBar As CommandBar
Dim myCtrl As CommandBarControl
Application.OnKey "^{.}", "Zoomup"
Application.OnKey "^{,}", "Zoomdown"
End Sub
Sub Zoomup()
If ActiveWindow.Zoom < 390 Then
ActiveWindow.Zoom = ActiveWindow.Zoom + 5
End If
End Sub
Sub Zoomdown()
If ActiveWindow.Zoom > 10 Then
ActiveWindow.Zoom = ActiveWindow.Zoom - 5
End If
End Sub

A 回答 (4件)

アドインにして、新しくできたツールバーに


ショートカットキーの指定もするのが簡単ですね。

newBarというツールバーが画面下にでき、
Alt+.でズームアップ
Alt+,でズームダウン
です。

Sub Auto_Open()
My_Bar
End Sub
Sub My_Bar()
Dim n As Integer
Dim myBar As CommandBar
Dim myButton As CommandBarButton
On Error Resume Next
Application.CommandBars("newBar").Delete
On Error GoTo 0
Set myBar = Application.CommandBars.Add("newBar", msoBarBottom, , True)
With myBar
With .Controls.Add(msoControlButton)
.Style = msoButtonCaption
.Caption = "ズームUP(&.)"
.OnAction = "Zoom_UP"
End With
With .Controls.Add(msoControlButton)
.Style = msoButtonCaption
.Caption = "ズームDown(&,)"
.OnAction = "Zoom_Down"
End With
.Visible = True
End With
End Sub
Sub Zoom_Up()
With ActiveWindow.View
If .Zoom < 390 Then
.Zoom = .Zoom + 5
End If
End With
End Sub
Sub Zoom_Down()
With ActiveWindow.View
If .Zoom > 10 Then
.Zoom = .Zoom - 5
End If
End With
End Sub
Sub Auto_Close()
On Error Resume Next
Application.CommandBars("newBar").Delete
End Sub
    • good
    • 0
この回答へのお礼

ご回等ありがとうございます。さっそくやってみました。
うまく行きました。感動です。

追加で2点ご教授願えませんでしょうか。

■質問(1)

画面下部に追加されるツールバーを非表示にして、ショートカットのみを有効にすることは可能でしょうか?
もし無理なら、画面下部かどこか、自分で設定することは可能でしょうか。


■質問(2)

表示倍率の件とは別件ですが、四角形とかオブジェクトを書くときはいつも1ミリ単位で書いてます。
大きさがうまくあわないときは、オブジェクトのプロパティを開いて、手動でサイズを入力して変更してます。
この手の作業をマクロ化したくて以下のようなマクロを作成しました。
オブジェクトを選択していない状態で実行するとエラーとなるのですが、オブジェクトを選択していないときは何もせず、オブジェクトを選択しているときにのみ実行するようにしたいです。
キーボード操作をマクロで記録して中身を見ただけなので、構文等が怪しいと思います。単位がミリではないのか、2.76というのが出てきました。
どうすればいいかご教授願えませんでしょうか。
最終的には上記同様、ショートカットキーに割り当てるつもりです。
===
Sub Height_Up()
With ActiveWindow.Selection.ShapeRange
.Fill.Transparency = 0#
.Height = .Height + 2.76
End With
End Sub
Sub Height_Down()
With ActiveWindow.Selection.ShapeRange
.Fill.Transparency = 0#
.Height = .Height - 2.76
End With
End Sub

お礼日時:2008/11/09 21:19

追記..


PowerPointに関する質問は、
mougというサイトに書き込んでくださると
回答がしやすいんです。
ここでは、VBAコードのアップがしにくいので。
mougを検索してください。
    • good
    • 0

■質問(1)


・ツールバーを非表示:
API関数のGetKeyboardStateなどと使わないと無理。
・位置を自分で設定:
Set myBar = Application.CommandBars.Add("newBar", msoBarBottom, , True)
の部分の
画面下部→msoBarBottom

画面上部→msoBarTop
画面左部→msoBarLeft
に変更。
ほかにも。Help参照。

■質問(2)いろんな回答があります。
そのごく一部。
Sub Size_Up()
With ActiveWindow.Selection
If .Type = ppSelectionShapes Or .Type = ppSelectionText Then
With .ShapeRange
.LockAspectRatio = msoFalse
.ScaleWidth 1.1, msoFalse
.ScaleHeight 1.1, msoFalse
End With
End If
End With
End Sub
Sub Size_Down()
With ActiveWindow.Selection
If .Type = ppSelectionShapes Or .Type = ppSelectionText Then
With .ShapeRange
.LockAspectRatio = msoFalse
.ScaleWidth 0.9, msoFalse
.ScaleHeight 0.9, msoFalse
End With
End If
End With
End Sub
    • good
    • 0

PowerPointは使わないのでマクロのことも分かりません。


Web検索でこんなページがヒットしました。

PowerPointのマクロでのショートカットキー設定
http://d.hatena.ne.jp/satelliteh/20071219/119807 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報