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関連

    右クリックメニューを非表示にするExcelマクロ

    Answersに図形を右クリックしたときのメニューをマクロで非表示にし…

  2. Office関連

    リボンのタブを選択するVBAマクロ

    マクロでリボンのタブを選択する方法として、ActivateTabやAc…

  3. Office関連

    Office 365 unified APIをVBAから呼び出す

    前回の記事で、VBAからOffice 365 APIを呼び出す手順につ…

  4. Office関連

    Acrobatを使ってPDFファイルを結合するVBAマクロ

    前回の記事では、iTextSharpを使ってPDFファイルを結合するP…

  5. Office関連

    Excelのシート上で3Dグラフィックのアニメーションが再生できるようになりました。

    ※ 下記情報はInsider版のExcelを元にしています。バージョン…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP