同じPCに2010と2016が入っている場合、通常は後にインストールした方がデフォルトで起動する様になっており、原則変更が出来ません。
前のバージョンのエクセルで開きたいって場合結構有るんですが、そんな時にはコントロールパネルでエクセルの修復を行わなければならずとっても時間が掛かる。。。そんな訳でワンタッチで切り替えれるマクロを作りボタン化してみましたのでご紹介。
切り替えマクロ
初めにツール「参照設定」からWindows Script Host Object Modelの追加を行う。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
'********************************************************************* ' Excelバージョン切替処理 '********************************************************************* Sub VersionChange() ' 変更が有り保存されていない場合 ' 問答無用で保存せず閉じるロジックなのでここで一応セーフティ処理 If ActiveWorkbook.Saved = False Then Dim dRet As Integer dRet = MsgBox("変更が保存されていません。" & vbCrLf & "実行すると変更が削除されますが宜しいですか?", vbYesNo + vbQuestion, "確認") If dRet = vbNo Then Exit Sub End If End If ' コマンド文字列 Dim strCmd As String ' Excelバージョン文字列 Dim strVersion As String ' 現在実行中のExcelバージョンを取得しパスを指定 strVersion = Left(Application.Version, 2) ' 2016実行中の場合 If strVersion = 16 Then strVersion = "Office14" ' 2010実行中の場合 Else strVersion = "root\Office16" End If ' バージョンNo参考 ' 2019 = 16 ' 2016 = 16 ' 2013 = 15 ' 2010 = 14 ' 2007 = 12 ' 2003 = 11 ' 2002 = 10 ' 2000 = 9 ' 自分のOSのbitを取得 Dim colItems As Object Dim itm As Object Set colItems = CreateObject("WbemScripting.SWbemLocator").ConnectServer.ExecQuery("Select * From Win32_OperatingSystem") ' OSbit別でディレクトリ設定 For Each itm In colItems If itm.OSArchitecture = "64 ビット" Then strCmd = """C:\Program Files (x86)\Microsoft Office\" + strVersion + "\EXCEL.EXE""" + " """ + ActiveWorkbook.Path + "\" + ActiveWorkbook.Name + """" Else strCmd = """C:\Program Files\Microsoft Office\" + strVersion + "\EXCEL.EXE""" + " """ + ActiveWorkbook.Path + "\" + ActiveWorkbook.Name + """" End If Exit For Next ' アラートOFF Application.DisplayAlerts = False ' エクセルを終了する Application.Quit ' コマンド実行 CreateObject("WScript.Shell").Run strCmd End Sub |
ボタン化してクイックアクセスツールバーに配置する
Excel上部の【ファイル】タブから【オプション】→【クイックアクセスツールバー】の順にクリックします。
【コマンドの選択】コンボボックスでマクロを選択すると先程作成したマクロが出てくるので追加をクリックします。
追加したら【変更】ボタンが押せるようになり、表示名とアイコンをカスタマイズ出来るようになります。
ハイ。すごくChangeっぽさが出ました。ちなみにリボンに登録する事も勿論出来るのでお好みで。
実際の動き
実行するとこんな感じで簡単に切り替えを行えるようになります。
このマクロは本記事の様にパーソナルに入れて置けば、そのPC上でエクセルを開く際にはこんな感じで簡単にスイッチ出来るようになりますので、混合して利用されてる方は是非お試しください~(ᵔᴥᵔ)
コメント