- ベストアンサー
フォルダ内のブック全部にパスワードを設定したい
- エクセルのマクロ(VBA)を使用して、フォルダ内の全てのエクセルファイルに一括でパスワードを設定する方法を教えてください。
- パスワードを設定したい対象は、フォルダ内に存在する複数のエクセルファイルです。フォルダ名やファイルの数は毎回異なります。
- マクロ(VBA)の勉強を始めたばかりで、自分で考えながら解決したいと思っています。分かりやすいヒントを教えていただけると嬉しいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
任意フォルダ内のexcelファイルを1個開いて、名前を付けて保存する際に、ツールの全般オプションからパスワード保存ができます。これをマクロで記録してみると1個のファイルについて流れがつかめるでしょう。 任意フォルダ内のexcelファイル検索は、マクロでも少し上級ではないでしょうか。 > マクロ(VBA)の勉強をはじめたばかりなので 少し難しいかもしれません。私ならFileSearchメソッドを使います。 下記に例を示しますので、勉強してみてください。C:\My Documents内のexcelファイルにすべてXXXXというパスワードを振ります。 Sub Macro1() '変数宣言 Dim openFilePath As String Dim passWord As String '変数に値を入れる openFilePath = "C:\My Documents" passWord = "XXXX" With Application 'メッセージを停止する .DisplayAlerts = False '画面の変化を停止する .ScreenUpdating = False 'openFilePathフォルダ内のexcelファイル検索 With .FileSearch '新規検索 .NewSearch 'フォルダ指定 .LookIn = openFilePath 'ファイルの種類指定 .FileType = msoFileTypeExcelWorkbooks If .Execute() > 0 Then 'excelファイルを1個ずつ開く For i = 1 To .FoundFiles.Count Workbooks.Open .FoundFiles(i) 'パスワードpassWordをつけて保存 ActiveWorkbook.SaveAs _ Filename:=.FoundFiles(i), _ passWord:=passWord 'ファイルを閉じる ActiveWorkbook.Close False Next i End If End With '画面の停止解除 .ScreenUpdating = True 'メッセージの停止解除 .DisplayAlerts = True End With MsgBox "終了しました" End Sub
その他の回答 (1)
- TTak
- ベストアンサー率52% (206/389)
私は、自動記録ですね。初心者のうちはひたすら自動記録して、それを延々と見ていました。そのうち、自動記録は余計なコーディングが多いことに気づき、それを削除していくことを覚えました。 あとは、ひたすらヘルプですね。判らないキーワードを選択してF1キーを押します。するとそのキーワードのヘルプが出ます。どんな参考書よりヘルプですよ。そして、うまくいかないときは、人に聞きます。ここのようなサイトでも良いですし、ニュースグループでもいいでしょう。 私が参考書を買ったは、ある程度できるようになってからですね。付属CDのサンプルマクロなんかをいちいち解読するのもおもしろいですね。コーディンングは人それぞれですから。ある程度知識が付いたら、他人のやり方を盗んで行くのがさらなる上達ということにつながると思います。
お礼
なるほど! 自動記録なら、したい操作の記述が一発でわかりますよね。 マクロを組むときに、どんな処理ができるのかが 分かってないので、組むに組めない(T_T)と思ってましたが これなら、必要なものから覚えられそうです。 早速私もやってみようと思います。 本当に、本を買ってもさっぱりだし、どうやって勉強 すればいいのか分からなかったので、目からウロコです! 回答、本当にありがとうございましたm(__)m
お礼
分かりやすい回答、ありがとうございます! お見本にしたがって作成してみたら、 自分の理解できる範囲で自分仕様に変更して、 思い通りのマクロを組むことができました!!! 細かくコメントをいれて下さっているので、 大体理解できましたが、やっぱり分からないまま 組んでしまっているところも。。。 こんなマクロがあったらいいな(あくまであったらいいな、 くらいなのですが・・・) と、いくつかのお題はもっているのですが、どう勉強して、 組み立てていったらいいのか、さっぱりなのです。 マクロ(VBA)を勉強するにあたって、何かオススメの手段 (本やサイトなど)はありますでしょうか? こんなマクロを組みたいな~と思ってから、まずそのアルゴリズム を考えるのも苦手で、かつVBAの文法も???です。 お礼欄にこんなこと書くものなんですが、お気づきになられたら また回答くださるとうれしいです。