
現在、エクセルで以下のようなマクロをアドインとして作成して、「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
No.2ベストアンサー
- 回答日時:
アドインにして、新しくできたツールバーに
ショートカットキーの指定もするのが簡単ですね。
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
ご回等ありがとうございます。さっそくやってみました。
うまく行きました。感動です。
追加で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
No.4
- 回答日時:
追記..
PowerPointに関する質問は、
mougというサイトに書き込んでくださると
回答がしやすいんです。
ここでは、VBAコードのアップがしにくいので。
mougを検索してください。
No.3
- 回答日時:
■質問(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
No.1
- 回答日時:
PowerPointは使わないのでマクロのことも分かりません。
Web検索でこんなページがヒットしました。
PowerPointのマクロでのショートカットキー設定
http://d.hatena.ne.jp/satelliteh/20071219/119807 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
性格悪い人が優勝
できるだけ性格悪い人になって回答をお願いします。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
自分用のお土産
国内や海外に旅行へ行った時、自分用のお土産ってどれくらい買いますか?
-
パワーポイントのVBAでテキストボックスに値を変更させたいです
Visual Basic(VBA)
-
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
-
4
PPTのVBA スライド右下端の座標を取得する方法
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワード ある日突然 文書の表...
-
iPhoneでzoomをしており、主催...
-
wordの文書をPC画面中央に表示...
-
PowerPointでマクロをショート...
-
zoomで、スマホにて録音だけは...
-
Wordの白紙の文書の書式が前よ...
-
skypeの未読オレンジマーク
-
エクセルの列と行の見出しが小...
-
家電製品が入っていた箱を捨て...
-
1通のメールに4枚写真を添付...
-
クリープを入れないコーヒーな...
-
2台のPCでRS-232C接続でファイ...
-
PowerDVD 14のスクリーンショット
-
2016VISIOのインストールについて
-
ラジオ聴く時何してる?何をし...
-
友達にパソコンを貸すことについて
-
結局、ノートパソコンはいつ買...
-
勝手にフォルダやファイルが開...
-
一本道の動画をパソコンで保存...
-
Microsoft office 2010
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワード ある日突然 文書の表...
-
wordの文書をPC画面中央に表示...
-
エクセルの列と行の見出しが小...
-
ノートパソコンでzoomを使って...
-
PowerPointでマクロをショート...
-
【エクセル2003】シート保...
-
OLEオブジェクトを自動でサイズ...
-
Skypeで映像が送れないです
-
zoomの連絡先追加ができない
-
エクセルでズーム窓に好みの%...
-
Outlookでのメールで 記入する...
-
zoomについて質問です。 明後日...
-
skypeの未読オレンジマーク
-
YAHOO/JAPANの表示サイズ
-
Premiere で ズームさせる際、...
-
SKYPEで、新たな出会いを探して...
-
スカイプで片方のみWebカメラ動...
-
パソコンでブラウザからURLを打...
-
他の画面開いてzoom使う
-
iPadでzoomの画面録画をすると...
おすすめ情報