• 締切済み

エクセルテンプレートのパスワード保護

既存のエクセルテンプレートファイル(xltファイル)にvbaを使用し読取パスワードをかけることは可能でしょうか。 SaveAs で行っても上手くいかなかったので質問させていただきました。 よろしくお願いいたします。 【excel2010 使用】

みんなの回答

  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.2

こんにちは。 動作確認に手間取りましたが、私の環境では、以下のサンプルで、 テンプレートブックに設定した読み取りパスワードを 新しいブックにも反映することが出来ています。 ところで、Excel2010でしたらば、 .xlt 形式より、.xltxや.xltmの方が互換の問題が無い分、有利な気がします。  .xlt .xltx .xltm の違いは  .xls .xlsx .xlsm に模して考えると解り易いと思いますが、 .xltファイルをテンプレートとして新規作成したブックであっても、 [名前を付けて保存]ダイアログを開いた時に表示されるファイル形式(拡張子)は、 Excelのオプション設定(デフォルトでは、Excelブック.xlsx )によって既定ですから、 .xltファイルを指定しても、.xlsファイルで保存するように促すような機能はないみたいです。 もう一点、 互換ブック(.xltや.xls)の方が、 現行のブック形式(.xltx .xltmや.xlsx .xlsm)よりも ファイルサイズは大きくなってしまいます。 何か事情があってのことでしたら、参考(後学)の為、訳を教えて頂けると有難いです。 特に理由がなかったとしたら、.xltx .xltm への移行を検討してみてください。 サンプル、3種のファイル形式で書いておきました。 Sub Re8307242()  '  xlt 版   ' ' テンプレートブック、フルネーム   Const sXLTFullName = "C:\Users\ユーザー名\AppData\Roaming\Microsoft\Templates\テンプレートブック名.xlt"   Const myPass = "1234"  '  パスワードを指定 '  With Workbooks.Add(Template:=sXLTFullName)   With Workbooks.Open(Filename:=sXLTFullName)     Application.DisplayAlerts = False     .SaveAs Filename:=sXLTFullName, _         FileFormat:=xlTemplate8, Password:=myPass     Application.DisplayAlerts = True     .Close   End With    End Sub Sub Re8307242m()  '  xltm 版   ' ' テンプレートブック、フルネーム   Const sXLTFullName = "C:\Users\ユーザー名\AppData\Roaming\Microsoft\Templates\テンプレートブック名.xltm"   Const myPass = "1234"  '  パスワードを指定 '  With Workbooks.Add(Template:=sXLTFullName)   With Workbooks.Open(Filename:=sXLTFullName)     Application.DisplayAlerts = False     .SaveAs Filename:=sXLTFullName, _         FileFormat:=xlOpenXMLTemplateMacroEnabled, Password:=myPass     Application.DisplayAlerts = True     .Close   End With    End Sub Sub Re8307242x()  '  xltx 版   ' ' テンプレートブック、フルネーム   Const sXLTFullName = "C:\Users\ユーザー名\AppData\Roaming\Microsoft\Templates\テンプレートブック名.xltx"   Const myPass = "1234"  '  パスワードを指定 '  With Workbooks.Add(Template:=sXLTFullName)   With Workbooks.Open(Filename:=sXLTFullName)     Application.DisplayAlerts = False     .SaveAs Filename:=sXLTFullName, _         FileFormat:=xlOpenXMLTemplate, Password:=myPass     Application.DisplayAlerts = True     .Close   End With    End Sub

回答No.1

Dim book As Workbook Workbooks.Open Filename:="C:¥Test.xlt" Set book =ActiveWorkbook book.SaveAs Filename:=:="C:¥Test.xlt", Password:="pass" book.close SaveAsでやるのであれば、これでできると思います。

関連するQ&A

  • Excelテンプレートが開けません

    構築したシステムより、当該データをExcelテンプレート(拡張子がxltファイル)に貼り付けて保存されたので、そのファイルを開こうとしても開きません。 (Excelは起動するのですが、真っ黒の画面のままです) その画面の上で「右クリック→開く」で再度同一ファイルを選択して開くと『XXX.xltの修復 XXX.xltにエラーが検出されましたが、MicrosoftExcelは次の修復を行うことによってファイルを開くことができました。修復を保持するにはこのファイルを保存してください。』と表示されているのですが、同じウィンドウの中に『ファイルへのダメージが深刻であり修復は不可能です。MicrosoftExcelは数式と値の回復を試みましたが、消失または破損したデータが含まれる可能性があります。』と表示されています。 なぜこのようになるのでしょうか?

  • EXECLテンプレート(.xlt)をコマンドラインから起動する方法

    EXCELのテンプレートファイル(.xlt)をバッチファイルから起動したいのですが、 コマンドラインで単純に『~\EXCLE.exe aaa.xlt』としても、xlt自体が編集モードで立上げってしまいます。 xltファイルをダブルクリックした時のようにこのテンプレートを元にした新規のEXCELが立上げたいです。 どのようにしたら良いでしょうか?御教授下さい。

  • Excelのプロパティ「テンプレート」について

    「ファイル」-「プロパティ」-「ファイルの概要」のテンプレート欄に ファイルのフルパスとファイル名が表示されているエクセルファイルがあります このテンプレートに表示されているものを削除したいのですが どうやったら削除できるのでしょうか また、何をするとこのテンプレート欄に表示されるのでしょうか Windows XP、Excel2003 を使用しています ご回答よろしくお願いします

  • エクセルのテンプレート以外の標準設定変更を御存知でしたら教えて下さい

    エクセルを起動するとbook1というファイルが自動的に開きますが、そのファイルの書式の設定を前もってカスタマイズしておく方法はないでしょうか。  Q&Aをみても、開いた後で書式-スタイル-変更-テンプレートとして.xltで保存、次にエクセルを起動したら、標準テンプレートの中から保存したものをクリックして開く、という方法しか掲載されていないようです。  起動した時、及び起動後に新規に作成するときに、常に自分の気に入った書式のファイルが「標準テンプレートをクリック」とか、「書式-スタイルー変更」とかではなく、「いつでも自動的に」ぱっと出てくるようにはできないものでしょうか。  Mac OS10.3.9 Excel X、WindowsXP Excel2000? を使っています。どちらでも結構ですので、ご教示いただければ幸いです。

  • Excelの印刷と、テンプレートについて。

    2つ質問があります。 1.印刷について  入力箇所がわかりやすいように、テンプレートのセルに色を  つけたのですが、印刷時にはこの色を出さないようにしたいのです。  これを実現するための方法を教えてください。 2.テンプレートの編集について  1度テンプレートとして保存したシートを、再度編集するには  どうしたらいいのでしょうか?  xltファイルを開くと、コピーされたシートになるため、どう  編集したらいいのかわかりません。  力技で、拡張子をxlsにしてしまえば良いのでしょうか…? 上記についてご存知の片いらっしゃいましたら、ご教授ください。

  • Excelファイルのパスワードによる保護の方法

    Excel2002を使用していた時はファイルへのパスワードのかけかたは解っていたのですが、Excel2007でのやり方がわかりません。 ご教示ねがえないでしょうか?

  • Excelで書式やページ設定の既定値を設定をしたい。

    テンプレートで作っておくのではなく、いつも自分が使う書式やページ設定を登録しておいて(既定値を設定する)、Excelを起動する度に自分が登録した既定値になっているものをすぐ使いたいのですが、何か方法はありますか? Wordでは、書式の既定値の設定がありますが、Excelで同様の設定はありませんか? 以前、 「ファイル」「名前を付けて保存」で「ファイルの種類」を「テンプレート(*.XLT)」として「ファイル名」に「BOOK.XLT」として保存。これで Excel を起動する度に保存した設定になる。 という方法を教えていただいたのですが、できませんでした。他の方法でご存知の方がいらっしゃいましたら、よろしくお願いします。

  • EXCEL パスワード保護 使用可能な文字

    EXCELファイルにパスワード設定をしようと考えています。 (ファイル保護、シート保護、VBAProject保護など) そこで、質問なのですが、パスワードに使用可能な文字、使用できない文字を教えていただけないでしょうか? すみませんがよろしくお願いします。

  • エクセルのパスワード忘れてしまいました

    エクセルで設定した読み取りパスワードを忘れてしまいました。 どうやらキータッチミスのようでメモしていたパスワードでは 開けないのです。 すみません、どなたか開く方法を教えてください!!

  • Excelでテンプレートを作りたいのです

    Excel2003で作った罫線表作成ファイル(注文書・納品書の類)を 後から応用できるようにテンプレートとして残したいのですが、 どうしたらテンプレートが出来ますか。

専門家に質問してみよう