
マクロを作成したエクセルファイルがあるのですが、配布した数が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も見ています
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
泣きながら食べたご飯の思い出
泣きながら食べたご飯の思い出を教えてください。
-
"I love you" をかっこよく翻訳してみてください
あなたが考えるいちばんかっこいい "I love you"の訳を教えてください。
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
準・究極の選択
「年収1000万円で一生カレーライス」か「年収180万円で毎日何でも食べ放題」
-
VBAパスワードを解除するマクロ
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
ExcelVBAでのプロジェクトのロックの解除の方法
Excel(エクセル)
-
-
4
VBAProjectのモジュール存在チェック
Visual Basic(VBA)
-
5
VBScriptでエクセル VBProject
その他(プログラミング・Web制作)
-
6
VBAでブック保護非保護を判定するには?
Excel(エクセル)
-
7
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
Excel VBA で、マクロを実行するためのパスワード設定方法
Excel(エクセル)
-
10
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
11
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
12
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
13
エクセルVBAでOptionButtonのオンオフ取得
Excel(エクセル)
-
14
EXCEL VBAマクロ中断でデバッグ(コード閲覧)できないようにしたい
Visual Basic(VBA)
-
15
アクセスクエリ(複数)→マクロ→エクセル出力(ワークシート別)
その他(パソコン・スマホ・電化製品)
-
16
エクセルマクロで、別のブックが開いているかを判定したいのですが。
その他(Microsoft Office)
-
17
複数のワークブックのVBAを変更するプログラム
Visual Basic(VBA)
-
18
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
19
(VBA)チェックボックスのclickのイベントが、プログラムからの操作でも反応してしまいます。
Visual Basic(VBA)
-
20
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBAで別ブックのシートを指定し...
-
ワイルドカード「*」を使うとう...
-
VBA 実行時エラー 2147024893
-
2つ目のコンボボックスが動作...
-
フォルダ内の全てのファイルに...
-
Excelマクロ 該当する値の行番...
-
エクセルVBAが途中で止まります
-
[Excel]ADODBでNull変換されて...
-
[Excel VBA] 複数のサブフォル...
-
VBA コードを実行すると画面が...
-
ExcelのVBAコードについて教え...
-
【Excel VBA】書き込み先ブック...
-
【ExcelVBA】zip圧縮されたCSV...
-
シートをコピーする下記記述で...
-
vbaで他のブックに転記したい。...
-
EXCEL VBA 単語置き換え につい...
-
Book間の移動
-
VBA Indirectで他ブック間の集...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
VBA 別ブックからコピペしたい...
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
【Excel VBA】書き込み先ブック...
-
Excelマクロ 該当する値の行番...
-
[Excel]ADODBでNull変換されて...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】インデックスが有...
-
VBAで複数のブックを開かずに処...
-
【ExcelVBA】zip圧縮されたCSV...
-
【VBA】全シートの計算式を全て...
-
エクセルのマクロを使ってメー...
-
VBS Bookを閉じるコード
-
ユーザーフォームの切り替えに...
-
Excelのマクロコードについて教...
-
Excel2007VBAファイルの表示に...
おすすめ情報