記事を書いた動機
当方はSESで勤務していて客先がことあるごとに変わるのだが、そのたびにPCの各種設定を自分好みに設定するのに苦労しており、備忘録として確認できるようにしたいと思ったため。
インストールしたいソフトウェア
サクラエディタ
マクロも組めるしとにかく万能なテキストエディタ。
grepとかもはやテキストエディタとしての範疇超えててすごい。
Winmerge
テキストの差分やファイルの差分を確認できるソフト。
サクラエディタの設定
サクラエディタを使いこなすための便利設定。
①「名前を付けて保存」の初期ディレクトリの設定
設定→共通設定→編集タブ→
ファイルダイアログの初期位置を任意のフォルダに設定する
場合によってはサクラエディタのインストールディレクトリになっているときがあるので変えておくのが良い。
②分割ウィンドウの同期を取らない
設定→共通設定→ウィンドウ
分割ウィンドウで同期をとるのチェックを外す。
同期をとると、分割ウィンドウにした意味を感じないのでは。。
③タブバー設定
設定→タブバーを表示、ウィンドウをまとめてグループ化する
テキストファイルを複数開くことになることが多いので、その際に「あれ今どのファイルを参照していたんだっけ」と混乱してしまうため、タブバーでまとまっていれば探す必要がなくなる。
④日時書式
設定→共通設定→書式
日付書式→yyyy'年'M'月'd'日'
時刻書式→hh':'mm':'ss''
日付書式と時刻書式を任意の書式に変更する。(好みがあれば設定すればよいかと思う)
エクセルの設定
開発タブの表示
ファイル→オプション→リボンのユーザー設定
開発タブがないとマクロの編集ができません。
メールアドレスのリンクを消す
ファイル→オプション→文章校正→
オートコレクトのオプション→入力オートフォーマットタブ→
インターネットとネットワークのアドレスをハイパーリンクに変更するのチェックを外す
メールアドレスを文字列で入力するため
オートコレクトをしない①
ファイル→オプション→詳細設定→編集オプションのオートコンプリートを使用するのチェックを外す
オートコレクトをしない②
ファイル→オプション→文章校正→オートコレクトのオプション→オートコレクトタブで修正したい内容を選択する(基本全部チェックしなくてよい)
「/」を入力できるようにする
ファイル→オプション→詳細設定→Lotusとの互換性にある「/」を削除
Windows上で、ファイルの内容をリアルタイムで取得する
powershellを使用する。
要は、Linuxでいうtail-fをしたい感じ。
@echo set psfile_name=test.ps1
powershell -ExecutionPolicy Bypass %CD%\%psfile_name
pause
Get-Content -Path (取得したいファイル名) -wait -Encoding UTF8 -tail 10
客先でよく使用するVBAマクロ
①エビデンス貼り付け時に縮小してくれるマクロ
ウィンドウ全体のスクショをそのまま張り付けると、貼り付け時のサイズが大きいため、
貼り付け時にサイズを小さくします。
マクロのオプションで、ショートカットキーを設定すると使いやすい。
sub エビデンス縮小マクロ()
Dim ws As WorkSheet
Dim img As shape
Set ws = ActiveSheet
Selection.PasteSpecial
Selection.ShapeRange.LockAspectRatio = msoTrue '比率を一定にする
Selection.Shaperange.height = Selection.shaperange.height * 0.5
'張り付けた画像を取得し、最背面に移動する
set img = ws.shapes(ws.shapes.count)
img.ZOrder msosendtoback
end sub
②マクロファイルからマクロを削除して、新規ファイルとして保存するマクロ
マクロを使って便利にするはいいものの、
成果物として出す場合はマクロを削除したい場合があるので下記を使用
sub macrojokyo()
Dim wb as workbook
dim savepath
dim filename as string
dim newfilename as string
'現在開いているworkbookを取得
set wb = thisworkbook
'現在のworkbookのファイルパスを取得
savepath = wb.path
'現在のworkbookのファイル名を取得
filename = wb.name
'xlsmの拡張子を.xlsxに変更して新しいファイル名を作成
newfilename = left(filename,len(filename) - 5) & ".xlsx"
'除去を実行するシートを削除する
sheetname = '任意'
On error resume next 'エラーが発生しても処理を続ける
application .displayalerts = false '削除確認のダイアログを非表示にする
thisworkbook.sheets(sheetname).delete
application.displayalerts = true 'ダイアログを再表示する
on error goto 0
'ファイルを保存
on error resume next 'エラーが発生しても処理を続ける
application.displayalerts = false '上書き確認のダイアログを非表示にする
wb.saveas savepath & "\" & newfilename , fileformat := 51 '51はxlsxのファイルフォーマットを示す
application.displayalerts = true 'ダイアログを再表示する
on error goto 0
'保存が完了したことをメッセージボックスで通知
msgbox "" & newfilename & " で保存しました。" , vbInformation
end sub
③シートをコピーするマクロ
こちらも個人的に頻繁に使用している。
Sub CreateNewSheet()
Dim ws As Worksheet
Dim sheetName As String
' 新しいシートの名前を指定
sheetName = "新しいシート"
' すでに同じ名前のシートが存在する場合の処理
On Error Resume Next
Set ws = ThisWorkbook.Worksheets(sheetName)
On Error GoTo 0
If ws Is Nothing Then
' 新しいシートを作成
Set ws = ThisWorkbook.Worksheets.Add
' シートの名前を設定
ws.Name = sheetName
MsgBox "新しいシート '" & sheetName & "' が作成されました。"
Else
MsgBox "シート '" & sheetName & "' はすでに存在します。"
End If
End Sub
まとめ
給料が低いし、案件ガチャだし、このような記事見てないで早く客先常駐は脱出したほうがいいです。
新卒で入ったなら3年終わった年度末に退職しましょう。