初歩的な質問で大変恐縮です。
VBAのド初心者でJavaScriptは全く未知の世界です。
業務で必要となり、検索で見つけたものです。
改変・再配布自由なプログラムです。
アレンジをご教示いただけますでしょうか。
【希望内容】
Excelファイルにパスワードをかけるプログラムのアレンジです。
PWがすでにかかっているファイルが混在していても、
当該ファイルはスキップし、かかっていないファイルにのみPWをかける。
PWを一気に、しかも処理時間も早く非常に便利なのですが、
業務で整理対象となるファイルにPWがかかっているものとないものが混在し困っています。
エラーとなった時点で、ファイルの更新時間で判断すればよいのですが、
混在していてもスキップして作業が終わってもらえると、
作業残がないかどうか確認作業が不要となり助かります。
お力添えいただけますでしょうか。
どうぞよろしくお願いいたします。
◆仕事に役立つJava Script入門/クジラ飛行机
http://pc.nikkeibp.co.jp/article/column/20101201/1028886/?P=2&rt=nocnt
★ReadMe.txtより
- excelPassword -- Excelファイルにパスワードをかける
[概要]
Excelファイルをドラッグ&ドロップ一発で全てのファイルに
パスワードを設定することができます。
[ライセンス]
MIT License -- 自由に改変・再配布しても構いません。
[制作者]
クジラ飛行机 (http://kujirahand.com)
★プログラム内容
//---------------------------------------------------------
// ドラッグ&ドロップされたExcelファイルにパスワードをかける
//---------------------------------------------------------
// ドラッグ&ドロップされたファイルを確認する
var file_count = WScript.Arguments.Count();
if (file_count == 0) {
WScript.echo("ファイルがありません。");
WScript.Quit();
}
// Excelを起動する
var excel = WScript.CreateObject("Excel.Application");
excel.Visible = true; // 画面に表示する
excel.DisplayAlerts = false; // 警告が出ないようにする
// パスワードを入力する
var password = excel.InputBox("パスワードを入力してください");
// ドラッグ&ドロップされたファイルを1つずつ処理する
for (var i = 0; i < file_count; i++) {
setPassword(WScript.Arguments.Item(i));
}
excel.Quit();
WScript.echo("終わりました!");
//---------------------------------------------------------
// Excelファイルにパスワードを設定する関数
function setPassword(fname) {
var book = excel.Workbooks.Open(fname); // ブックを開く
book.Password = password; // パスワードを設定
book.SaveAs(fname); // ブックを保存
book.Close(); // ブックを閉じる
}
//---------------------------------------------------------
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/14 12:32
2015/11/16 00:15