見出し画像

ジェスチャーからエクセル新規ファイル作成

別の記事で、右クリックからのエクセル新規作成のテンプレート化に関して書いたのですが、実際に自分は利用していない訳で、少し疚しいので、自分が採用している方法も記載しておきます。

エクセルファイルの新規作成の流れ

  1. ファイルを作成したいフォルダ上で、マウスの右クリックで数字の6を書く

  2. ファイル名を入力するダイアログが出るけど、通常は変えずにOK

  3. テンプレートからコピーされて新規ファイルが開く。

実際の画面と、細かい設定を紹介します。

マウスの右ボタンを押しながら数字の6を書くと
ファイル名入力ダイアログが出ます。

『マウスで数字の6』の時点でお分かりですが、まず、標準のエクスプローラーを使っていません。
『秀丸ファイラーClassic https://hide.maruo.co.jp/software/hmfilerclassic.html)』を使っています。
『秀丸ファイラーClassic』にはジェスチャー機能があり、マウスの動きに対し、好きな機能や自作スクリプトを動作させる事が出来ます。

マウスを ↓→↑← と動かすと、NewExcel が動く設定

NewExcel は自作スクリプトで、内容は以下の通りです(読まなくて良いよ)。

Const C_Path = "C:\_D\Scripts\H_NewExcel.XLSX"
Const C_Version = "2.1"

dim i,L_file_name
dim L_input
dim L_Shell
dim L_Default_file_name
dim L_Dialog_Title,L_Dialog_Text

L_Dialog_Title = "新規 Excel 文書の作成"
L_Dialog_Text  = " 新しく作成する Excel ファイル名を" & vbcrlf & " 入力してください。" & vbcrlf & " 拡張子 .xlsx は自動付与します。"
L_Default_file_name = right("0" & DatePart("yyyy", Date),2) & right("0" & DatePart("m", Date),2) & right("0" & DatePart("d", Date),2) & "_画面コピー"

L_input = trim(InputBox(L_Dialog_Text,L_Dialog_Title,L_Default_file_name))
if ( L_input <> "" ) then

    Set L_FSO = CreateObject("Scripting.FileSystemObject")
    L_file_name = GetDirectory() & "\" & L_input & ".xlsx"

    For i = 2 To 11
        If (L_FSO.FileExists(L_file_name)) Then
            if ( i = 11 ) then Message(L_file_name & " exists.")
            L_file_name = GetDirectory() & "\" & L_input & i & ".xlsx"
        else
            L_FSO.CopyFile C_Path, L_file_name
            Exit For
        end if
    Next

    Set L_FSO = Nothing

    '作ったファイルをそのまま開く
    set L_Shell = CreateObject("WScript.Shell")
    L_Shell.run (L_file_name)
    set L_Shell = nothing

end if

結局何がしたいかと言うと、新規作成で作るファイル名って、"yymmdd_画面コピー" にする事が多かったので、じゃ、最初からその名前で作りましょ、って事です。
あと、同じ名前のファイルがあったら、末尾に番号を付けて増やしてます。
で、コピーして開く、っと。
ついでに、マウスの親指ボタンに Enter キーをアサインしているので、ダイアログの OK ボタンもそのまま親指で押せるようにしています。

6書いて親指ボタンで、ここまで来ます

宣伝

『秀丸ファイラーClassic』は大変良いソフトなので、自分も買ってます。
秀まるおのホームページ(サイトー企画)-秀丸ファイラーClassic (maruo.co.jp)

この記事が気に入ったらサポートをしてみませんか?