Office関連

「図のリセット」を実行するExcelマクロ

Msdn フォーラムに「Excel2010-VBA 画像「図の書式設定」のリセット」という質問がありました。

リボンの書式タブ → 調整グループ → 図のリセット(スプリットボタン) → 「図のリセット」を実行したい、という質問で、マクロの記録機能ではコードが記録されないようでした。

Excelに限らずOfficeアプリケーションの機能をマクロで実行する方法は色々とありますが、こんなときはCommandBarsオブジェクトの「ExecuteMso」メソッドを使うのが便利です。

Public Sub ResetPicture()
  '[図のリセット]が有効な場合のみ実行
  With Application.CommandBars
    If .GetEnabledMso("PictureReset") = True Then .ExecuteMso "PictureReset"
  End With
End Sub

ResetPicture_01

ExecuteMsoメソッドは、引数として機能(コントロール)のIDを渡すことで、そのコントロールを実行するメソッドで、上記コードでは「GetEnabledMso」メソッドを使ってコントロールが有効な状態か無効な状態かを判断し、有効な場合のみ処理を実行するようにしています。

コントロールのIDは、下記Webページで紹介しているコントロールIDリストから探しても良いし、

・Office製品のコントロール IDリスト – Curah!
http://curah.microsoft.com/33208/office%E8%A3%BD%E5%93%81%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB-id%E3%83%AA%E3%82%B9%E3%83%88

下記Webページで紹介しているように、クイック アクセス ツール バーから調べることもできます。

・マクロで実行したいコマンドのIDを調べる簡単な方法
//www.ka-net.org/blog/?p=4438

ちなみに「図とサイズのリセット」の場合は、下記コードのようになります。

Public Sub ResetAndSizePicture()
  '[図とサイズのリセット]が有効な場合のみ実行
  With Application.CommandBars
    If .GetEnabledMso("PictureResetAndSize") = True Then .ExecuteMso "PictureResetAndSize"
  End With
End Sub

PDFファイルにヘッダーとフッターを追加するVBAマクロ前のページ

2015年1月の人気記事次のページ

関連記事

  1. Office関連

    Office 365 APIをVBAから呼び出す(2)

    前回の記事ではOffice 365とAzure ADの紐づけを行いまし…

  2. Office関連

    [Excel Services ECMAScript]アクティブセルが変更されたときのイベントを利用…

    埋め込んだExcelワークブックの、アクティブセルが変更されたときのイ…

  3. Office関連

    MemsourceのバイリンガルMXLIFFファイルから情報を抽出するWordマクロ

    近年翻訳業界では「Trados」や「memoQ」といった、“翻訳支援ツ…

  4. Office関連

    Excel 2016 Previewで追加された新しい関数

    ※ 下記情報はOffice 2016 Preview版を元にしています…

  5. Office関連

    オデッセイ コミュニケーションズ主催のExcel VBA入門セミナーに参加しました。

    今月19日に開催されたオデッセイ コミュニケーションズさん主催の「Ex…

  6. Office関連

    [Office]シンプルリボンのアンケートへの回答でAmazonギフト券が当たるチャンス

    「Office の新しい外観」にある通り、一部のOffice環境では、…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP