Office関連

A1セルを選択してから保存するExcelアドイン

@yu_tang_さんのツイートで面白いものがありました。

微妙な位置のセルが選択された状態でブックが開かれると、何かもやっとすることがあるので、A1セルを選択してから保存するオプションがあると、たしかに便利です。

・・・が、Excelのオプションを眺めてみても、「Excel A1セル 選択 保存」といったキーワードで検索してみても、それらしい情報が見つからないので、標準機能では用意されていないように思います。

それならば作ってしまおう!ということで、早速作ってみました。

dl_button A1セルを選択してから保存するExcelアドイン

上記リンクからzipファイルをダウンロードして解凍すると、「SelectCellA1.xlam」ファイルが出力されます。

このファイルをExcelのアドインフォルダにコピーし(同梱の「アドインフォルダを開く.vbs」ファイルを実行すると自動的にアドインフォルダが開きます)、Excelでアドインとして読み込むと、下図のようにクイック アクセス ツール バーにトグル ボタンが表示されます。

SelectCellA1_01

このトグル ボタンを「ON」にしておくと、ブックを閉じたときにすべてのシートでA1セルが選択された状態で保存されます。

A1セルを選択して保存したくない場合は、トグル ボタンを「OFF」にしておけば、アドインは動作しません。

出番があるんだか無いんだかよく分からないアドインですが、興味がある方はお試しください。

ちなみに、このアドインのコードは下記のようになっていますので、アドインの機能を手直ししたい方は下記のコードを自由に改変してお使いください。

・ThisWorkbook

Option Explicit

Private WithEvents App As Excel.Application
Private flg As Boolean

Public Sub rbnSelectCellA1_onLoad(ribbon As IRibbonUI)
  flg = False
  Set App = Application
End Sub

Public Sub tgbSelectCellA1_getPressed(control As IRibbonControl, ByRef returnedVal)
  returnedVal = flg
End Sub

Public Sub tgbSelectCellA1_onAction(control As IRibbonControl, pressed As Boolean)
  flg = pressed
End Sub

Private Sub SelectCellA1()
'すべてのシートでA1セルを選択
  Dim ws As Excel.Worksheet
  Dim tmp As Excel.Worksheet
  
  On Error Resume Next
  Set tmp = ActiveWorkbook.ActiveSheet
  For Each ws In ActiveWorkbook.Worksheets
    Application.Goto ws.Cells(1, 1), True
  Next
  tmp.Select
End Sub

Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
  '未保存のファイルは無視
  If Len(Trim(Wb.Path)) > 0 Then
    With CreateObject("Scripting.FileSystemObject")
      Select Case LCase(.GetExtensionName(Wb.FullName))
        'アドインファイルは無視
        Case "xla", "xlam"
        Case Else
          If flg = True Then
            SelectCellA1
            Wb.Save
          End If
      End Select
    End With
  End If
End Sub

・リボンXML

<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="ThisWorkbook.rbnSelectCellA1_onLoad" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <tab id="tabSelectCellA1" label="SelectCellA1" visible="false">
        <group id="grpSelectCellA1" label="SelectCellA1">
          <toggleButton id="tgbSelectCellA1" label="SelectCellA1" screentip="すべてのシートでセルA1を選択" supertip="このボタンをONにすると、ブックを閉じる時にすべてのシートでセルA1を選択した状態で保存されます。" imageMso="SelectCell" onAction="ThisWorkbook.tgbSelectCellA1_onAction" getPressed="ThisWorkbook.tgbSelectCellA1_getPressed" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Google Apps ScriptでVoiceText Web APIを呼び出す。前のページ

Microsoft Download Centerのファイルがリンク切れを起こしているときは?次のページ

関連記事

  1. Office関連

    [Office]アイコンの検索機能が超便利!

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

  2. Office関連

    PowerPointスライドショー終了後ファイルを閉じるVBAマクロ

    「Excel VBA PowerPoint スライドショー後閉じる」と…

  3. Office関連

    Officeの新製品発売記念イベントに参加してきました。

    今月16日に開催された、Officeの新しい製品の発売記念イベント「平…

  4. Office関連

    [Office]WordやPowerPointで画像の画質が悪くなった時の対処方法

    WordやPowerPointで画像を貼りつけたときやファイルを保存し…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP