0. 動機 (スクリプトのパスを通している前提)
Windowsキー + Rの「ファイル名を指定して実行」から、メモ用のファイル名に既に日付が入っているwordファイルを立ち上げたいな…と思ったこと。
メモ帳だとテキストのみだし、メールだと会社の設定で1年以上前のものは削除されるしな…、ということでwordにしました。
ファイル名に日付入れるの地味にめんどくさいのでそれもスクリプトに書きました。なので"winword"で立ち上げるプレーンのwordファイルとは若干差別化できると思います。
1. スクリプト概要・出力
- スクリプト起動
- 新規Wordファイル(.docx)を立ち上げる
- "ダウンロード"のフォルダに「本日の日付_Temp.docx」というファイル名で仮ファイルを保存
- wordファイル本文の冒頭には"Memo"という文字列を追加、
...で色々メモしたら適当な場所に「名前を付けて保存」
* 出力例は下記画像参照 (左:作成した仮ファイルの保存場所、右:作成した仮ファイル)
2. スクリプト全体像・解説
#wordファイルを立ち上げて画面に表示する
$wd = New-Object -ComObject Word.Application
$wd.Visible = $True
$doc = $wd.Documents.Add()
#workファイル本文に"Memo"という文字列を入れる
$doc.Content.Text = "Memo:"
#日付の取得(例:20230923という形式)
$dayNow = Get-Date -Format "yyyyMMdd"
#立ち上げたwordをダウンロードフォルダに保存する (※XXXXは各自のPCにより異なるので調整してください)
$doc.SaveAs("C:\Users\XXXX\Downloads\$dayNow" + "_Temp.docx")
3. おわりに
基本自分用メモですがどこかの誰かの役に立てば幸いです。Qiitaは編集しやすくていいですね。
私は非IT企業の非IT職種(専攻も非IT)の人間なのですが、PowerShellの件気軽に相談できる人が周り(社内)にいないこともあり、もし「こここうやってやるともっと楽だよ」とか「こういう改善加えてみました」みたいな意見もしあれば是非教えてください!
4. 余談
-
初めてQiitaで記事書いてみましたがMarkdown方式が思ったより書きやすくてびっくりしました。スクリプトに関してはシンタックスハイライトもあるし、個人でメモ帳とかパワポ、wordなどにメモするより便利だなーと思いました。いいですね。
-
別途「ダウンロードフォルダ内のファイルを全削除する」スクリプトがあるといいと思います。いつの間にかすんごい色々溜まってて容量すごかったりするので…
-
PowerShellスクリプトをダブルクリックで実行できるようにしたい場合は下記参照
- パスを通してスクリプトをさらに素早く起動したい場合は下記参照