
マクロを作成したエクセルファイルがあるのですが、配布した数が1万ほどありまして、
今回、vbaプログラム自体を変更しなければいけなくなりました。
そこで、調べた結果vbaをvbaで編集することまではわかりました。
http://officetanaka.net/excel/vba/vbe/index.htm
しかし、配布したエクセルファイルのvbaProjectにパスワード保護をかけていまして、上手く動作しません。
なので、vbaでvbaProjectの保護を解除したいのですが、何かいい方法がありましたら、
ご指導の程よろしくお願いします。
※vbaProjectのパスワードはわかっています。
No.3ベストアンサー
- 回答日時:
最初に、リンク先のOfficeTanakaのサイトに書かれてあるものは、アマチュア用でもなければ、プロ用でもないもので、そのような手法が受け入れられるはずがありません。
>vbaでvbaProjectの保護を解除したいのです
Sendkeyでバスワードを送ることは可能ですが、それをしても、次の段階が出てきます。コード編集ではセキュリティ解除をしなければなりませんから、Resistry操作が出てきます。そうすると、アンチウィルスに引っかかってくる可能性も出てきます。だから、OfficeTanakaの話は現実的ではないことが、お分かりになるかと思います。そんなに簡単なことではないはずです。
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.1
- 回答日時:
質問の意味がよくわかりません
プログラムでプログラムを制御する という考えは賛同できません
それってつまりマクロウィルスを肯定するようなものです
そもそも 元の作成時 1万ものブックを作成したとは思いません
1つ作ってそれをコピーして1万にしたのではないのですか?
今回も1つ修正してそれを再配布すればいいのではないでしょうか?
それとも違う意味なのですか?
この回答への補足
わかりにくくてすいません。
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も見ています
-
VBAパスワードを解除するマクロ
Excel(エクセル)
-
ExcelVBAでのプロジェクトのロックの解除の方法
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
VBScriptでエクセル VBProject
その他(プログラミング・Web制作)
-
5
標準モジュールを削除したい。(VBA)
Access(アクセス)
-
6
マクロを消すマクロは不可能?
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
EXCEL VBAマクロ中断でデバッグ(コード閲覧)できないようにしたい
Visual Basic(VBA)
-
9
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
10
VBAプロジェクトのロック解除が出来ない
Excel(エクセル)
-
11
エクセルマクロで、別のブックが開いているかを判定したいのですが。
その他(Microsoft Office)
-
12
VBAProjectのモジュール存在チェック
Visual Basic(VBA)
-
13
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
14
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
15
Excel2019 非表示モジュール内でコンパイルエラー
Excel(エクセル)
-
16
複数のワークブックのVBAを変更するプログラム
Visual Basic(VBA)
-
17
Application.Runエラー(1004)
Excel(エクセル)
-
18
バックグラウンドのプロセスのエクセルを閉じる方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のエクセルファイルとシー...
-
VBA 別ブックからコピペしたい...
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
EXCEL VBA 単語置き換え につい...
-
[Excel]ADODBでNull変換されて...
-
VBAで別のブックにシートをコピ...
-
Excelのマクロコードについて教...
-
VBAの参照先のファイル名をセル...
-
クリップボードに貼付している...
-
Dir関数で複数ブックへ行いたい...
-
【前回の続き続きです、ご教示...
-
VBA アプリケーション定義また...
-
Excel マクロ ファイルと同じシ...
-
マクロVBA別Excelブックにデー...
-
エクセル vba ある検索値を別ブ...
-
Excel2007VBAファイルの表示に...
-
VBSでExcelのオープン確認
-
【ExcelVBA】zip圧縮されたCSV...
-
エクセルVBAが途中で止まります
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBA コードを実行すると画面が...
-
VBAで別のブックにシートをコピ...
-
VBAで別ブックのシートを指定し...
-
【Excel VBA】書き込み先ブック...
-
Excelマクロ 該当する値の行番...
-
【ExcelVBA】zip圧縮されたCSV...
-
[Excel]ADODBでNull変換されて...
-
【ExcelVBA】インデックスが有...
-
Excel2007VBAファイルの表示に...
-
VBAで複数のブックを開かずに処...
-
vbaで他のブックに転記したい。...
-
エクセルマクロで、他ブックか...
-
vbaでvbaProjectのパスワード解...
-
VBA 実行時エラー 2147024893
-
【マクロ】違うフォルダにある...
おすすめ情報