マクロを作成したエクセルファイルがあるのですが、配布した数が1万ほどありまして、
今回、vbaプログラム自体を変更しなければいけなくなりました。
そこで、調べた結果vbaをvbaで編集することまではわかりました。
http://officetanaka.net/excel/vba/vbe/index.htm
しかし、配布したエクセルファイルのvbaProjectにパスワード保護をかけていまして、上手く動作しません。
なので、vbaでvbaProjectの保護を解除したいのですが、何かいい方法がありましたら、
ご指導の程よろしくお願いします。
※vbaProjectのパスワードはわかっています。
No.1
- 回答日時:
質問の意味がよくわかりません
プログラムでプログラムを制御する という考えは賛同できません
それってつまりマクロウィルスを肯定するようなものです
そもそも 元の作成時 1万ものブックを作成したとは思いません
1つ作ってそれをコピーして1万にしたのではないのですか?
今回も1つ修正してそれを再配布すればいいのではないでしょうか?
それとも違う意味なのですか?
この回答への補足
わかりにくくてすいません。
1万はおっしゃる通り、コピーされ使用されてる数です。
そもそも質問文には余計でした。
もちろん再配布は考えているのですが、既存で使用している分に関しても継続的に使用できるようにした方が、ユーザ側への負担が減るのでどうにかできないかと思い、今回質問させていただきました。
No.2
- 回答日時:
私だったらこうすると思う方法を書きます。
まず、修正されるブックをA、アップデートとのブックをUPと言う名前だったとします。
1 まず、UPを開いて、自分の名前が、UPかどうかを確認し、そうでなかったら実行をやめます。
2 アップデート済みの印が有ったら、実行をやめます。
3 次に、Aを開きます。
4 Aの内容(シート)をUPにコピー貼り付けします。
5 Aを閉じます。
6 Aの名前をA.xls.copyに変えます。
7 UPのシートのどこかに、アップデート済みの印をつけてセーブします。
8 アップデート済みの印を消します。
9 UPをAという名でセーブします。
10 UPを消すようメッセージを出して、終わります。
この一連の動作をマクロにして配布します。
Aのブックには、このマクロが残りますがそれは我慢してもらうしかないです。
No.3ベストアンサー
- 回答日時:
最初に、リンク先のOfficeTanakaのサイトに書かれてあるものは、アマチュア用でもなければ、プロ用でもないもので、そのような手法が受け入れられるはずがありません。
>vbaでvbaProjectの保護を解除したいのです
Sendkeyでバスワードを送ることは可能ですが、それをしても、次の段階が出てきます。コード編集ではセキュリティ解除をしなければなりませんから、Resistry操作が出てきます。そうすると、アンチウィルスに引っかかってくる可能性も出てきます。だから、OfficeTanakaの話は現実的ではないことが、お分かりになるかと思います。そんなに簡単なことではないはずです。
1万コピー配布で、なぜ、その後の方策を立てなかったのか、と思います。
基本的には、アドインスタイルを取ります。アドインにするためには、特別に配布用のインストーラーが必要になってきますが、フリーで手に入ります。
また、アップデート用のブックを配布とはいっても、ワークシート上はすでにユーザーが手を付けているので、そのまま、ブック自体を配布することは出来ないはずです。新しいブックに、シートコピーをして新しいブックに移し替え、新しいブックにして使ってもらう方法を考えます。しかし、コントロールツールなどがあれば、それはすげ替えることが利きませんから、予め置いておくか、マクロで設けるしかありません。こちらとしては、この程度しかアイデアがありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- その他(ブラウザ) Excel VBA seleniumのedge操作について 業務上、分からないことがございまして、先 1 2022/06/20 16:59
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
このQ&Aを見た人はこんなQ&Aも見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
VBAパスワードを解除するマクロ
Excel(エクセル)
-
ExcelVBAでのプロジェクトのロックの解除の方法
Excel(エクセル)
-
Excel VBA で、マクロを実行するためのパスワード設定方法
Excel(エクセル)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
エクセルVBA 「On Error GoTo 0」について
Excel(エクセル)
-
6
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
7
VBScriptでエクセル VBProject
その他(プログラミング・Web制作)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
VBAProjectへの保護の設定
Visual Basic(VBA)
-
10
エクセルVBAで標準モジュールを保護したい
その他(プログラミング・Web制作)
-
11
ウォッチ式の文字数制限について
Visual Basic(VBA)
-
12
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
13
VBAプロジェクトのロック解除が出来ない
Excel(エクセル)
-
14
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
15
エクセルでメッセージボックスにパスワードを入力し、ブックの保護を解除するマクロを教えて下さい
Excel(エクセル)
-
16
VBA This Workbookモジュールを別ファイルにコピーする方法
Visual Basic(VBA)
-
17
VBAでブック保護非保護を判定するには?
Excel(エクセル)
-
18
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
19
DoEvents関数って何?
Visual Basic(VBA)
-
20
アドインファイルの作り方
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(マクロ)データをAブックからB...
-
ワイルドカード「*」を使うとう...
-
【マクロ】違うフォルダにある...
-
エクセルのマクロについて教え...
-
ACCESSVBA からExcelの他ブック...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
複数のブックからデータを転記...
-
VBA コードを実行すると画面が...
-
【VBA】全シートの計算式を全て...
-
VBA シートをコピーする際に Co...
-
ACCESSでExcelにデータ出力、高...
-
複数のエクセルファイルとシー...
-
エクセルVBAで書式と値の貼付け...
-
Excelアドインの非表示ブック
-
エクセルのマクロを使ってメー...
-
Excel VBA 指定したセル範囲の...
-
エクセルのマクロについて教え...
-
ExcelVBA:すでに開かれている...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
ワイルドカード「*」を使うとう...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBS Bookを閉じるコード
-
【ExcelVBA】インデックスが有...
-
VBA コードを実行すると画面が...
-
【ExcelVBA】zip圧縮されたCSV...
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
ExcelのVBAです。フォルダ内の...
-
vbaで他のブックに転記したい。...
-
フォルダ内の全てのファイルに...
-
VBAで複数のブックを開かずに処...
-
VBSでExcelのオープン確認
-
VBA 実行時エラー 2147024893
-
【Excel VBA】書き込み先ブック...
-
VBA シート名が一致した場合の...
おすすめ情報