2016-11-08 9 views
0

毎日Excelファイルを開いて最新の販売データを取得するためにコンテンツを更新する必要があります。私はWindowsタスクスケジューリングでこれを自動化したいと思います。 Excelファイルはパスワードで保護されているので、目的のExcelファイルを開くworkbook_open-macroを使って別のExcelファイルを作成することをお勧めします。 しかし、問題は、私が見つけたコードは、ユーザーにパスワードを入力するよう依頼するということです。私はちょうどenterを押すことができ、それはそれから開くでしょうが、なぜまだそれのためのプロンプトがありますか?私はExcel 365を使用していますが、これに対していくつかの回避策がありますか、何か間違っていますか?パスワードを入力せずにvbaからexcelファイルを開くパスワード

私はReadOnlyで試しました:=偽であり、何も変更されていません。私がReadOnly:= Trueを設定しても動作しますが、変更後にファイルを保存できません。

これは私が使用しているコードです:

Sub Workbook_Open() 
    Application.DisplayAlerts = False 
    Workbooks.Open Filename:="Path\file.xlsx", Password:="*****", ReadOnly:=False 
    Application.DisplayAlerts = True 
    ThisWorkbook.Close SaveChanges:=False 
End Sub 
+0

これは誰もがシステムに積極的ではないながら使用して、実行されようとしている場合、ほとんどの人は、それを使用してのアイデアを嫌うだろうがsendkeysはそれほど恐ろしいことではないかもしれません。 – Rdster

+0

パスワードを入力しないと、ファイルはまだ読み取り専用ではありませんか?読み取り専用で開くときにsave-asを実行できますか? – tjb1

+0

あなたは正しいです@ tjb1、それは私がちょうど入力を押した場合に読んで、気づかなかった。そして、いいえ、私がsave-asをすると、新しいファイルをどうやって開くのですか?一方、私はpassowordなしで他の場所でファイルを保存し、そのファイルを更新して、新しいものよりもパスワードで保護されたファイルとして保存することができます!そんなことは考えてくれなかった。アイデアをありがとう! –

答えて

1

は、ブックのパスワード保護や予約書き込みますか?

予約済みのファイルは、正しいパスワードなしで読み取り専用で開くことができますが、パスワードで保護されたファイルはまったく開くことができません。

ブックには、右のコマンドがあるべき書き込みを予約されている場合:

Workbooks.Open Filename:="Path\file.xlsx", WriteResPassword:="*****", ReadOnly:=False 
0

はこれを試してみてください。

Application.DisplayAlerts = False 
    Workbooks.Open "path\file.xlsx", , , , "password" 
    Application.DisplayAlerts = True 
    ThisWorkbook.Close SaveChanges:=False 
+0

あなたはちょうどWorkbooks.Open上の別の構文を使用して、コードは同じですので、いいえ、動作しません。 –

+0

それは2010年の仕事です...家に戻ったとき、私はオフィスでチェックします2013はおそらく365に近づいています – areklipno

関連する問題