LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 1 year has passed since last update.

個人用_環境整備

Last updated at Posted at 2021-06-10

1.vbaをもとにxlsmファイルを整備

Excelに埋め込んだExcelオブジェクトを最大サイズで開くマクロ

vba.java
Sub task()
'
' task Macro
'

'
    With ActiveSheet
     Set o = .OLEObjects("Object 1")
     o.Verb xlVerbOpen
     Application.WindowState = xlMaximized
    End With
End Sub

2.バックアップバッチ

①バッチ名を入力、完全一致で起動(引数に指定してもOK)
②各種パスを指定
③本日日付を作成
④指定フォルダをローカル側にコピー、zipに変換、変換前フォルダは削除
⑤別ドライブがあれば転送
⑥終了

※Windows標準圧縮コマンドなので、Lhaplusとかで解凍すると文字化けしたりする
※あたりまえだがバッチは
・文字コードはSJIS
・改行コードはCRLF

save.bat
@echo off
rem =========================================================
if "%1" == "" (
  rem 第一引数がない場合は入力
  echo enter the one
  set /p ANSWER=
) else (
  rem 第一引数をセット
  set ANSWER=%1
)
if not %~n0 == %ANSWER% (
  rem 起動ファイル名が入力された場合のみ起動
  exit
)
rem =========================================================
rem zipファイル名
set BK_FILE_NAME=ふしぎなおくりもの
rem 保存元フォルダ
set WORK_DIR=C:\Users\%USERNAME%\Documents\なぞのばしょ
rem 保存先フォルダ
set BK_DIR=C:\Users\%USERNAME%\Documents\ふしぎなおくりもの
rem 転送先フォルダ
set OUTER_STRAGE_BK=W:\ふしぎなおくりもの
rem =========================================================
rem 日付作成
set HIZUKE=%DATE: =0%
set yy=%HIZUKE:~0,4%
set mm=%HIZUKE:~5,2%
set dd=%HIZUKE:~8,2%
set TODAYS_BK=%BK_DIR%\%BK_FILE_NAME%_%yy%_%mm%_%dd%
rem =========================================================
rem 対象を日付名ファイルとしてフルコピー、zip圧縮
mkdir %TODAYS_BK%
robocopy %WORK_DIR% %TODAYS_BK% /s /e
powershell Compress-Archive -Path %TODAYS_BK% -DestinationPath %TODAYS_BK%.zip -Force
rmdir %TODAYS_BK% /s /q
rem =========================================================
rem 外部転送
mkdir %OUTER_STRAGE_BK%
if exist %OUTER_STRAGE_BK% (
  rem 外部ファイルにアクセスできれば転送
  copy /y %TODAYS_BK%.zip %OUTER_STRAGE_BK%\%BK_FILE_NAME%.zip
)
rem =========================================================
echo END
powershell sleep 1
exit

3.タスクキルバッチ

①バッチ名を入力、完全一致で起動(引数に指定してもOK)
②メモリ使用量10kB以上のタスクをキルする(ほぼすべてキル)
③エクスプローラexeを再起動する
④終了

end.bat
@echo off
rem =========================================================
if "%1" == "" (
  rem 第一引数がない場合は入力
  echo enter the one
  set /p ANSWER=
) else (
  rem 第一引数をセット
  set ANSWER=%1
)
if not %~n0 == %ANSWER% (
  rem 起動ファイル名が入力された場合のみ起動
  exit
)
rem =========================================================
taskkill /f /fi "memusage ge 10000"
rem =========================================================
taskkill /im explorer.exe
start explorer.exe
rem =========================================================
exit

4.全起動バッチ

①バッチ名を入力、完全一致で起動(引数に指定してもOK)
②起動対象一覧があるフォルダへ移動
③フォルダ内を階層1でループ
・コマンドプロンプト画面をアクティブに
・画面サイズ最大で起動
(.linkファイル名は空白なし、.exeなどの文言なしにするとよい)
④終了

open.bat
@echo off
rem =========================================================
if "%1" == "" (
  rem 第一引数がない場合は入力
  echo enter the one
  set /p ANSWER=
) else (
  rem 第一引数をセット
  set ANSWER=%1
)
if not %~n0 == %ANSWER% (
  rem 起動ファイル名が入力された場合のみ起動
  exit
)
rem =========================================================
rem 起動対象
cd /d C:\Users\%USERNAME%\Documents\なぞのばしょ\link
rem =========================================================
if "%2" == "" (
  rem 第二引数が存在しない場合はcmdパス
  set WINDOW_NAME=C:\Windows\system32\cmd.exe
) else (
  rem 第二引数が存在する場合は起動中のウィンドウ名をセット
  set WINDOW_NAME=%2
)
for %%f in (*.*) do (
  echo START : %%f
  rem 最大サイズで起動
  start /max %%f
  rem ウィンドウをアクティブに
  powershell -command "(new-object -com 'WScript.Shell').AppActivate('%WINDOW_NAME%')">NUL
)
rem =========================================================
echo END
powershell sleep 1
exit

5.名前指定してファイル実行

2, 3, 4のバッチやお気に入りExcelファイルなどを一つのフォルダに集めておき
このバッチを起動して、ファイル名を入力すると、開くことができる
このバッチのショートカットをデスクトップに作成し、プロパティからショートカットキーを登録しておくと便利

start.bat
@echo off
rem =========================================================
if "%1" == "" (
  rem 第一引数がない場合は入力
  echo enter the one
  set /p ANSWER=
) else (
  rem 第一引数をセット
  set ANSWER=%1
)
if not %~n0 == %ANSWER% (
  rem 起動ファイル名が入力された場合のみ起動
  exit
)
rem =========================================================
rem 起動対象名のある指定フォルダに移動
set ARTIFACT_PATH=C:\Users\%USERNAME%\Documents\なぞのばしょ\artifact\
cd /d %ARTIFACT_PATH%
echo;
echo artifacts list
echo =========================================================
dir /a-d /b
echo =========================================================
echo;
echo call
rem 起動対象名を入力
set /p ARTIFACT_CALL=
if "%ARTIFACT_CALL%" == "" (
  rem 未入力の場合終了
  exit
)
rem =========================================================
rem 指定フォルダから起動対象名を検索
dir /a-d /b /s | findstr "%ARTIFACT_CALL%[^\\]*$" > %ARTIFACT_PATH%phantom.txt
set /p ARTIFACT_CALL_PATH=<%ARTIFACT_PATH%phantom.txt
del %ARTIFACT_PATH%phantom.txt
if "%ARTIFACT_CALL_PATH%" == "" (
  rem 起動対象が見つからなければ終了
  exit
)
rem =========================================================
rem 起動対象の拡張子がbatであるかの判定
echo %ARTIFACT_CALL_PATH% | findstr \.bat > NUL
if not errorlevel 1 (
  rem batの場合は引数を指定して起動
  rem 第一引数:起動対象名、第二引数:起動中のファイル名
  rem このファイルがショートカットから起動された場合、ファイル名=ウィンドウ名となる
  call %ARTIFACT_CALL_PATH% %ARTIFACT_CALL% %~n0
) else (
  rem bat以外の場合は最大サイズで起動
  start /max %ARTIFACT_CALL_PATH%
)
exit
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up