Excel

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 365アイコン(imageMso)一覧(P)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  2. Excel

    Yahoo!翻訳で文字列を翻訳するマクロ

    「Google翻訳で文字列を翻訳するマクロ」ではGoogle翻訳を利用…

  3. Office関連

    Excel 2013で駅すぱあとWebサービス APIの「経路探索」を使ってみました。

    「「駅すぱあとWebサービス API無償提供」を利用してみました。」で…

  4. Office関連

    ビジネスITアカデミーの無料VBAセミナーに行ってきました。

    Excel MVPの伊藤さんやWord MVPの新田さんのブログ記事で…

  5. Office関連

    Office 2013関連資料のリンク

    Office 2013関連資料のリンクをメモしておきます。・O…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP