• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォルダ内のブック全部にパスワードを設定したい)

フォルダ内のブック全部にパスワードを設定したい

このQ&Aのポイント
  • エクセルのマクロ(VBA)を使用して、フォルダ内の全てのエクセルファイルに一括でパスワードを設定する方法を教えてください。
  • パスワードを設定したい対象は、フォルダ内に存在する複数のエクセルファイルです。フォルダ名やファイルの数は毎回異なります。
  • マクロ(VBA)の勉強を始めたばかりで、自分で考えながら解決したいと思っています。分かりやすいヒントを教えていただけると嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

任意フォルダ内の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

kokiaki
質問者

お礼

分かりやすい回答、ありがとうございます! お見本にしたがって作成してみたら、 自分の理解できる範囲で自分仕様に変更して、 思い通りのマクロを組むことができました!!! 細かくコメントをいれて下さっているので、 大体理解できましたが、やっぱり分からないまま 組んでしまっているところも。。。 こんなマクロがあったらいいな(あくまであったらいいな、 くらいなのですが・・・) と、いくつかのお題はもっているのですが、どう勉強して、 組み立てていったらいいのか、さっぱりなのです。 マクロ(VBA)を勉強するにあたって、何かオススメの手段 (本やサイトなど)はありますでしょうか? こんなマクロを組みたいな~と思ってから、まずそのアルゴリズム を考えるのも苦手で、かつVBAの文法も???です。 お礼欄にこんなこと書くものなんですが、お気づきになられたら また回答くださるとうれしいです。

その他の回答 (1)

  • TTak
  • ベストアンサー率52% (206/389)
回答No.2

私は、自動記録ですね。初心者のうちはひたすら自動記録して、それを延々と見ていました。そのうち、自動記録は余計なコーディングが多いことに気づき、それを削除していくことを覚えました。 あとは、ひたすらヘルプですね。判らないキーワードを選択してF1キーを押します。するとそのキーワードのヘルプが出ます。どんな参考書よりヘルプですよ。そして、うまくいかないときは、人に聞きます。ここのようなサイトでも良いですし、ニュースグループでもいいでしょう。 私が参考書を買ったは、ある程度できるようになってからですね。付属CDのサンプルマクロなんかをいちいち解読するのもおもしろいですね。コーディンングは人それぞれですから。ある程度知識が付いたら、他人のやり方を盗んで行くのがさらなる上達ということにつながると思います。

kokiaki
質問者

お礼

なるほど! 自動記録なら、したい操作の記述が一発でわかりますよね。 マクロを組むときに、どんな処理ができるのかが 分かってないので、組むに組めない(T_T)と思ってましたが これなら、必要なものから覚えられそうです。 早速私もやってみようと思います。 本当に、本を買ってもさっぱりだし、どうやって勉強 すればいいのか分からなかったので、目からウロコです! 回答、本当にありがとうございましたm(__)m

関連するQ&A