ユーザーのパスワードを自動的に入力する Excel VBA マクロを作成したいと考えています。これにより、ユーザーはファイルをダブルクリックするたびに手動でパスワードを入力する必要がなくなります。これは可能ですか?もしそうなら、どうすればこれを行うことができますか?
4 に答える
@iceeagle、@(Siddharth Routh) に「コメント」するほどの評判はありませんが、意味がない/役に立たない/できないというコメントと回答を後悔しています。
たとえば、変更したい Excel のセット全体があり、すべてパスワードで保護されている場合などです。ループを介してそれらすべてを実行すると、毎回パスワードを入力する必要があります (1000 以上のファイルがある場合は愚かに思えますか?) より良いオプション: VBS のマクロをエンコードします。パスワードが含まれているため、すべてを変更できます。エンコードされたファイル!ユーザーにこのパスワードを提供すると、1000 個のエンコードされたファイルが残っているだけで、毎回入力する必要はありません。
答えは、人々がこれに出くわした場合、@DJによって正しく与えられます。次のように、ワークブック オープナーのコマンド ラインにパスワードを入力できます。
Set wb = Workbooks.Open(Filename:="myfile.xls", Password:="password")
これに出くわした人々が、受け入れられた答えを与えられたものと見なさず、さらに見てください.
よろしく、ピーター
私のコメントで述べたように、私の意見では、あなたが求める機能は実行できません。説明させてください。
Excel ファイルで VBA コードを自動実行するにはWorkbook_Open()
、コードをThisWorkbook
コード領域またはAuto_Open()
モジュールに配置する必要があります。
これら 2 つの Subs は、パスワードで保護されたファイルにパスワードが入力された後、つまりワークブックが開かれた後にのみ実行されます。したがって、パスワードがパスワード ダイアログ ボックスに入力される前、またはワークブックが開かれる前に、これを実行する方法はありません。
あなたの上司は賢明な人で、うまく説明できれば理解してくれると思います :)
マクロの自動実行について詳しく説明しているこのリンクも参照してください。
トピック: Excel の起動時にマクロを実行する
リンク: http://office.microsoft.com/en-us/excel-help/running-a-macro-when-excel-starts-HA001034628.aspx
上記リンクより引用
Microsoft Excel を起動するたびに特定のアクションを自動的に実行する場合は、ブックを開くたびに実行されるマクロを記録または作成できます。これを行うには、次の 2 つの方法があります。
マクロを記録し、Auto_Open という名前で保存します。ブックの Open イベントの Microsoft Visual Basic® for Applications (VBA) プロシージャとしてマクロを記述します。
パスワードで渡すコマンドライン パラメータはありません。しかし、できることは、スプレッドシート名とパスワードをパラメーターとして受け取る「オープナー」スプレッドシートを用意し、VBA を使用してパスワードで保護されたスプレッドシートを開くことです。
彼のリンクを見てください:
https://superuser.com/questions/438842/excel-workbook-desktop-shortcut-with-auto-password
これは、コマンド ライン パラメータを取得する方法のみを示しています。これらを取得したら、次を使用できます。
Workbooks.Open "filename", , , , "Password"