マクロが実行できない問題

このQ&Aのポイント
  • Excel97を使用していて、1つのシートに配置されたコマンドボタンを押すと、「実行時エラー'1004': 'SaveAs'メソッドは失敗しました:'_workbook'オブジェクト」というエラーが表示されます。
  • この問題の原因は、VBAProjectのプロパティがパスワードで保護されているため、SaveAsメソッドが失敗することです。
  • 解決策としては、VBAProjectのプロパティのパスワード付き保護を解除することで正常に動作するようになります。
回答を見る
  • ベストアンサー

マクロが実行できません

Excel97を使っています。 あるワークブックに4枚のシートがあります。 全てのシートはパスワード付きで保護しています。 VBAProjectのプロパティもパスワード付きで保護しています。 4枚の内の1枚のシートにコマンドボタンを配置して、そのコマンドボタン押下時に、次の動作をするコードを記述しています。 (1)YesNoの確認ダイアログを出す (2)Yesであれば現在のシートをテキスト区切りファイルとして保存する (3)Noであれば何も動作しない ところが、コマンドボタンを押して、確認ダイアログの“はい”ボタンを押すと、「実行時エラー'1004': 'SaveAs'メソッドは失敗しました:'_workbook'オブジェクト」というエラーが出てマクロがストップしてしまいます。 一旦VBAを開いて、VBAProjectのプロパティのパスワード付き保護を解除すれば、正常に動作します。 宜しくお願いします。

noname#1997
noname#1997

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

行おうとしていることはなんとなく分かりますが、パスワードで保護されているBookの一部のシートを名前を変えて保存しているわけで『保護』していることと相反することを行おうとしているように思えます。以下の方法はどうでしょうか。マクロの記録でコードは作成できると思います。後、保存確認とかのダイアログが出ると思いますが、『Application.DisplayAlerts = False』で表示しないようにすればいいでしょう。色々質問されているようで、できると思いますのであえてコードは書かないで手順だけにしておきます。 (1)テキストファイルにするシートを選択 (2)シートタブで『移動またはコピー』を選択 (3)『コピーを作成する』にチェック (4)移動先ブック名は『(新しいブック)』を選択。OK (5)新しいブックをテキストファイルで保存 (6)新しいブックを保存しないで閉じる 以上です。これで自分自身が変更されることがなくなるはずです。パスワードの有無も関係ないでしょう。 他の質問にあった、自分をテキストファイルで保存したため、元のExcelファイルで再度保存したいという問題も発生しないと思います。 要点・・・テキストファイルにしたいシートを別の新しいブックにコピーし、それをテキストファイルで保存する うまくいかなければ補足して下さい。

noname#1997
質問者

お礼

>『保護』していることと相反することを おっしゃる通りです。(^^ゞ 無事解決できました。 ありがとうございました。

関連するQ&A

  • VBA マクロ保護

    VBA マクロ保護 VBAProject 保護はツールにて保護パスワード設定しています! 私が作ったもので、コマンドボタンをクリックしたら指定された フォルダにコピー(例;Sheet1のみコピー)できるようにしています! そこのコピーのフォルダを開き、ブックを開いてみると シート保護はされていますが コードの表示にパスワード設定がなく、そのまま見えてしまいます。 そこで質問なのですが コードの表示を見れなくさせるために VBA記述でコピーするときにVBAProjectにパスワード設定させたいです。 ちなみにVBAProject本体には、パスワード設定しています。 どのようにすれば良いか?記述を教えてください!

  • マクロを保護(実行不可)するには?

    マクロを保護するために VBAProjectのプロパティにて パスワードでプロジェクトのロックを行いました。 しかしマクロの編集は不可能になりますが マクロの実行は普通にできてしまいます。 初期起動時のみのマクロであり 初回1度のみのマクロのためコマンドボタンにも反映させておらず 他人がこのマクロを実行できてしまうと不都合です。 いい方法は無いでしょうか??

  • エクセルVBAで全てのマクロを実行するには?

    エクセルVBAの初心者です。 エクセルの他のワークブックからマクロのあるワークブックを開き、値を入れる式は成功したのですが、マクロにはパスワード保護がかかっており、マクロの実行式を入れることができません。 DoCmd.RunMacro で マクロ名は必須のようです。 マクロボタンは1つだけです。 すべてのマクロを実行、というようなコマンドは可能でしょうか?

  • EXCEL vba でマクロにパスワードを設定できますか

    メニューバー「ツール」→VBAProjectのプロパティを選択して パスワードの設定、解除をするのではなく、 この処理を割り当てたコマンドボタンなどで設定、 解除をさせたいのですが、可能でしょうか ネットで調べてみましたが、 メニューバー「ツール」→VBAProjectのプロパティで 設定する方法しかみつけられませんでしたので もし可能でしたら、どのように記述すればいいのか お教えいただけないでしょうか よろしくお願いします

  • エクセルのシート保護をマクロで自動化したい!

    EXCEL2000で仕事をしていますが、シート保護をマクロで自動化したいんです。それもパスワード入力を求めるメッセージボックスが表示されるような形で・・・ ツール→保護→シートの保護 ということでシート保護が出来るのは当然知っていますが、複数の人間が共有して使うファイルということのあり、作業後閉じるときに忘れる可能性大なので、コマンドボタンで簡単にしたい。パスワード付というのは無理なんでしょうか?

  • Excel 画像クリックでマクロ実行

    Sheet上にある画像をクリックすると拡大表示する、という動作をさせたいと考えています。 画像は複数個、順次追加されるので、画像にマクロを組みこんで、ボタン化する、ということではなく、イメージとしてはWorkbook_SheetChangeでどのセルの値を変えてもマクロが実行されるように、どの画像をダブルクリックしても、その画像が拡大されるようにしたいのですが可能でしょうか?

  • EXCEL VBAのパスワード解除

    VBAProjectのプロパティ保護としてパスワードをかけたのだが、2年も前のことでそのパスワードが何だったのかわすれてしまったために、マクロの編集ができなくて困っています。どなたか解除の方法があれば教えていただきたい

  • EXCEL パスワード保護 使用可能な文字

    EXCELファイルにパスワード設定をしようと考えています。 (ファイル保護、シート保護、VBAProject保護など) そこで、質問なのですが、パスワードに使用可能な文字、使用できない文字を教えていただけないでしょうか? すみませんがよろしくお願いします。

  • EXCELのオートフィルターマクロについて

    初歩的な質問で恐縮です。 sheet1にデータ一覧を作成(仮にシート名を「データシート」とします)し、 sheet2へ検索条件を入力するセルとコマンドボタンを配置し、sheet1のデータを「オートフィルタで検索」するマクロを作成しました。 マクロの検証も行い動作の確認も行いマクロの実行してみると、ちゃんとフィルタ処理されており全て完璧!となりました。 ところが、他人への配布も予定していたので、データの改ざんを防止するため、データシートをシート保護して実行したところ、「ロックされているため実行できません」旨のエラーになってしまいました。 やはり、シートの保護を行なってしまうと、マクロであってもオートフィルタ機能は使用できないのでしょうか? 何か解決(保護状態でもオートフィルタ機能が使用可能)方法はありませんでしょうか? ご教授お願いいたします。

  • マクロについて教えて下さい。

    マクロについて教えて下さい。 タイムカードを作成するマクロを作成したのですが 時間を修正できないようにシートの保護をパスワードを 設定して作成しました。 ユーザーフォームのボタンを押すと時刻が入るようになっているのですが 当然時刻を入れる時は保護を解除しなければならないので 全シートの保護の解除のマクロも作成しました。 マクロにはパスワードが記述してあります。 このマクロを見られないようにする方法はありますでしょうか。 宜しくお願いします。

専門家に質問してみよう