[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA パスワードの解除と読み取り推奨の解除』(Kid)
同じパスワードのかかったファイルが100以上入ったフォルダがあります。
パスワードを解除して保存するまでのVBAはいろいろなサイトを参考に組めたのですが、最近、担当者の変更とともにファイル形式が変更されてしまいました。読み取り推奨で開くように聞いてきます。いちいち「いいえ」を選んで、保存する際に読み取り推奨のチェックを外すのが大変なので、自動的に、パスワード入力、読み取り専用「いいえ」、パスワード解除、読み取り推奨のチェックを外して保存。
という流れにしたいのですが、どこに何を足したらよいのかわかりません。
どなたかぜひご教授をおねがいします。
Sub 複数パスワード解除()
Dim myfolder, myfn, myword, pwopen, pwclose Dim pattern '操作を選択 pattern = MsgBox("パスワード解除「はい」、セットならば「いいえ」", vbYesNo) If pattern = vbCancel Then Exit Sub End If 'パスワードをセット myword = InputBox("パスワード") If pattern = vbYes Then pwopen = myword pwclose = "" ElseIf pattern = vbNo Then pwopen = "" pwclose = myword End If 'フォルダを選択 With Application.FileDialog(msoFileDialogFolderPicker) .Title = "解除したいファイルのあるフォルダを選択" .AllowMultiSelect = False If .Show = -1 Then myfolder = .SelectedItems(1) Else Exit Sub End If End With 'ファイルを操作 myfn = Dir(myfolder & "\*.xls", vbNormal) Do Until myfn = "" Call ファイル開閉(myfolder & "\" & myfn, pwopen, pwclose) myfn = Dir Loop End Sub
Function ファイル開閉(myfn, pwopen, pwclose)
Workbooks.Open Filename:=myfn, passWord:=pwopen
Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=myfn, passWord:=pwclose, WriteResPassword:="" Application.DisplayAlerts = True ActiveWorkbook.Close End Function
以上です。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
それなら、デフォルトのファイル形式が変わっているので、旧型式で保存したいなら、SaveAsメソッド実行時に FileFormat:=xlExcel8 のオプション指定を追加してみてください。(判らなければ、「Workbook.SaveAs メソッド」のヘルプを参照)
(???) 2018/07/11(水) 11:52
Sub test() Const myfn = "c:\tmp\test.xls"
Application.DisplayAlerts = False With Workbooks.Open(myfn, False, False, , , , True) .SaveAs myfn, FileFormat:=xlExcel8, ReadOnlyRecommended:=False .Close False End With Application.DisplayAlerts = True End Sub (???) 2018/07/11(水) 16:37
Workbooks.Open メソッド (Excel)
https://msdn.microsoft.com/ja-jp/vba/excel-vba/articles/workbooks-open-method-excel
Workbook.SaveAs メソッド (Excel)
https://msdn.microsoft.com/ja-jp/vba/excel-vba/articles/workbook-saveas-method-excel
(???) 2018/07/11(水) 17:08
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.