[VBS]バッチファイル×VBSで保護されたExcelファイルにパスワードを打ち込む
✅バッチファイルでパスワードを自動入力できないか
勝手に人のファイルを盗み見る良からぬ輩対策として
院内共有サーバーにおいてある自分が扱う全ファイルにはパスワードをかけておきたいのですが
自分で使うときにもいちいち入力するのは手間…
なので一見そうとはわからないバッチファイルにパスワード入力を仕込んでショートカットとしてローカルに保存。
自分が使う時だけローカルからアクセスしてパスワードレスで使えないものかという策略です
✅前提条件
✅実践
https://oshiete.goo.ne.jp/qa/2991655.html
VBSは自分で1から書けるほど勉強していないので、こちらをベースにします。
本来なら埋め込んで1ファイルにしたいですし、1ファイルにすることもできたのですが
今回は埋め込まずにVBSを共有しbatの方をコピペでいろんなファイルに適応させる形でつくりました。
✅トラブルシューティング
参考URLの
(1)以下のコードをメモ帳に貼り付けて、auto_input_pw.vbs という名前で保存。
についてはそのままで大丈夫です。中身を読んでもらえばわかると思いますが
このファイルそのものにはファイルのパスやPasswordはないので、複数のバッチファイルで使い回すことができます。いいね。
で、バッチファイル化/スタートアップ化するにあたり唯一問題になったのが
ディレクトリの問題
です。コマンドプロンプトをスタートから実行した場合のカレントディレクトリは
C:\Users\ユーザー名 になります
で、バッチファイルを普通に実行した場合のカレントディレクトリはバッチファイルが保存されている場所になります。
※管理者として実行した場合は“C:\Windows\System32 になります。
なんで
(2)コマンドプロンプトで、
>cscript auto_input_pw.vbs C:\temp\sample.xls pass
に関しては
・cdコマンドでVBSのの保存場所にディレクトリを移動してやる か
ディレクトリを移動せずに使う場合には
コマンドプロンプトの場合
・auto_input_pw.vbs を C:\Users\---- の直下に置く
か、バッチファイルの場合
・VBSファイルをバッチファイルと同じ場所に保存する 必要があります。
cdコマンドを使う場合は保存場所を変更した場合にすべて書き直しが生じるのでめんどくさいんで却下。なので今回はバッチファイルと同じ場所にVBSファイルを保存します。
で、ですよ。
個人的にはこのバッチファイルの1つはスタートアップフォルダに保存して起動時に自動実行させたいわけです。
で、VBSファイルをバッチファイルと同じスタートアップフォルダに保存する と、VBSもスタートアップ時に読み込まれて
こんなエラーを吐くわけです。
今回はこれを回避するために
ドキュメントなどにbatとVBSのファイルを任意の場所に一緒に保存しておいて
batのショートカットのみをスタートアップフォルダに保存することでこの問題を回避しています。(ショートカットでもスタートアップフォルダに保存しておけば問題なく動作します)
最終的なバッチファイルの記載内容は
@echo OFF
cd /d %~dp0
cscript auto_input_pw.vbs "ここにファイルのフルパス.xlsx" ここにExcelのパスワード
前提条件に合うように条件を書き足すと
@echo OFF
cd /d %~dp0
cscript auto_input_pw.vbs "C:\Users\user\document\ExcelFile.xlsx" Password
このようになります。
これで自分のローカルから接続する時はバッチファイルでダブルクリックのみでファイルを開けるけど
ローカルにバッチファイル他がないほかの職員はパスワード入力が求められるという環境にできました。
また少し業務が効率化できましたね
ホワイトな労務のために少しずつ効率的かつ便利な作業環境を構築していきましょう。
それでは。
コメント
0 件のコメント :
コメントを投稿
当ブログの内容は端末の文鎮化を引き起こす可能性を伴う危険なものを含み、投稿主は施行の推奨を致しません。
また、このブログコメント欄、Twitter等で問い合わせ頂いても詳細な内容を記載/返答する予定はございません。
自分で調べる。自己責任。転んでも自分で起きる。ことが出来ない方はコメント前にブラウザバックを推奨いたします。