OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

マクロが実行できません

  • すぐに回答を!
  • 質問No.189551
  • 閲覧数520
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

Excel97を使っています。

あるワークブックに4枚のシートがあります。
全てのシートはパスワード付きで保護しています。
VBAProjectのプロパティもパスワード付きで保護しています。

4枚の内の1枚のシートにコマンドボタンを配置して、そのコマンドボタン押下時に、次の動作をするコードを記述しています。
(1)YesNoの確認ダイアログを出す
(2)Yesであれば現在のシートをテキスト区切りファイルとして保存する
(3)Noであれば何も動作しない

ところが、コマンドボタンを押して、確認ダイアログの“はい”ボタンを押すと、「実行時エラー'1004': 'SaveAs'メソッドは失敗しました:'_workbook'オブジェクト」というエラーが出てマクロがストップしてしまいます。
一旦VBAを開いて、VBAProjectのプロパティのパスワード付き保護を解除すれば、正常に動作します。

宜しくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

行おうとしていることはなんとなく分かりますが、パスワードで保護されているBookの一部のシートを名前を変えて保存しているわけで『保護』していることと相反することを行おうとしているように思えます。以下の方法はどうでしょうか。マクロの記録でコードは作成できると思います。後、保存確認とかのダイアログが出ると思いますが、『Application.DisplayAlerts = False』で表示しないようにすればいいでしょう。色々質問されているようで、できると思いますのであえてコードは書かないで手順だけにしておきます。

(1)テキストファイルにするシートを選択
(2)シートタブで『移動またはコピー』を選択
(3)『コピーを作成する』にチェック
(4)移動先ブック名は『(新しいブック)』を選択。OK
(5)新しいブックをテキストファイルで保存
(6)新しいブックを保存しないで閉じる

以上です。これで自分自身が変更されることがなくなるはずです。パスワードの有無も関係ないでしょう。
他の質問にあった、自分をテキストファイルで保存したため、元のExcelファイルで再度保存したいという問題も発生しないと思います。

要点・・・テキストファイルにしたいシートを別の新しいブックにコピーし、それをテキストファイルで保存する

うまくいかなければ補足して下さい。
お礼コメント
noname#1997

>『保護』していることと相反することを

おっしゃる通りです。(^^ゞ
無事解決できました。
ありがとうございました。
投稿日時 - 2001-12-25 19:39:22
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ