「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:3700
現在:3


エクセル表をcalcで保存するとマクロができてしまう

ページOpenOffice.org FAQの登録ページ
投稿者初心者
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2007-09-08 00:58:11 (土)
OSXP
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

Web明細等をエクセルでいくつか保存していました。
コピペしていただけで特にマクロなどは使っていなかったのですがCalcで開く時に
マクロが使われているがセキュリティーにより使えない旨のメッセージが表示されます。
当然エクセルで開く時には特に何もメッセージは出てきませんでした。
Calcで保存してからエクセルで開いてみると今まで同様普通に開けるものもありましたが
一部のファイルでマクロが使用されていてセキュリティー設定のため利用できないと
メッセージが出るようになってしまいました。
エクセルでマクロを開いてみても何も見えません。
Calcのマクロ管理を見てみるとSheet3とThisWorkbookというのがあったので削除してみたのですが
再度開いてみるとまたできてしまっています。
同じようにCalcではマクロが見えたものでもエクセルではメッセージが出てこないものもあります。
正直マクロ自体と使ったことがないのでさっぱり分かりません。
マクロは必要ありませんしセキュリティーのこともあるので削除してしまいたいです。
エクセルで開く時にはメッセージが出ない元の(エクセルのみで利用時の)状態に戻したいのですが
どうしたらよいのか分かりません。
お手数ですがアドバイスをいただけますようよろしくお願いいたします。


エクセル側での情報が残っているようです

ike@九州 (2007-09-08 09:44:01 (土))

Calcが勝手にマクロを作成する事はありません
Excel側で一度マクロ情報が作られるとThisWorkbookマクロを全て空白にしても完全に情報がなくならないようです。
これでは、Excel側で新規作成してコピペしなおさないとマクロ情報の完全消去は無理ですね
作業が大変な場合、Calc側での設定で回避するしかありませんね
ツール->オプション->読み込みと保存->VBA属性
で全てのチェックを外してください。
これで、Calc側ではExcelファイルのマクロの読み込み、保存に一切関与しない事になるのでセキュリティレベルを保ったままでメッセージは出なくなるはずです。
ExcelマクロはCalcでは動作が限られていますし、マクロを使わないのであればこの方法がよいかもです。

Excel側でSheet3を削除保存して、再度Excelで開いてSheet3が出来ている場合はExcelマクロ(Open時自動実行マクロなど)が働いているのかもしれません。

ありがとうございます

初心者 (2007-09-09 00:42:22 (日))

分かりやすいアドバイスありがとうございました。
Calc側の設定(ツール->オプション->読み込みと保存->VBA属性で全てのチェックを外す)で
保存し直したらマクロは削除されたようです。
そのあとチェックを入れ直してもエクセルで開いてみてもメッセージは出なくなりました。
また試しにExcel側で新規作成してコピペでもやってみて問題は無くなりました。
ちなみに名前を変更しているのでどれがSheet3か分からないのですが
既存のシートを削除、保存してみても開いた時にシートが増えることはありませんでした。

それで分かる範囲でお教え頂けるとありがたいのですが、
今回の件はエクセルで知らぬ間にマクロができていたということですよね。
(しかもWebからのコピペでマクロができて
今回それを新規のファイルにコピペしたらマクロはできていない)
自分ではマクロなどさわったこともなかったのですが
どういう場合にこのようなことが起こりうるのでしょうか?
また、エクセルでマクロを見てみようとしても見つからず
(見つかればエクセルで削除しようと思ったのですが)
Calcでは見えるのにエクセルでは見えないというのはどうしてでしょうか?
Calcと少し話が離れすぎてこの場にそぐわないようであれば
この質問が適当な場所をお教え頂けますでしょうか?

この度は親切なアドバイスを素早く返して頂けて助かりました。
できる範囲で追加の質問の方もよろしくお願いいたします。

Calc側でマクロ情報が削除できるのですね

ike@九州 (2007-09-09 10:33:35 (日))

Excel2003、OOo2.21_Calcで検証してみました

excel.png

Basic EditorでのSheetやThisWorkbookコード内で一度でも
WorkBook、WorkSheet、挿入->???
を選んでしまうとマクロ情報が作成され、その後Excel側でモジュール削除、各コードの全クリアを行ってもマクロ情報は削除されないようです。
結果マクロが存在しなくてもマクロ情報が残っているのでCalcでの読み込み時にセキュリティ警告が出現します

Calcで警告が出たExcelファイルは上記操作を一度でも行った結果、マクロが存在しなくても情報が残されていたのだと思われます。
配布ファイルでは絶対にBasic Editorを起動しない事ですね。

Calcで開いた時に警告が出たファイルでマクロを使っていないと確信があれば

Calc側でVBA属性のチェックを外し同一名保存する事でExcelでのマクロ情報は消失(上書き保存はグレーアウト)

…これはとても有益な情報でした
faq/4/600はこれで解決できるのかも知れませんね

尚、ExcelファイルにはThisWorkBookは必ず存在します

理解できてスッキリしました

初心者 (2007-09-09 12:07:19 (日))

検証と詳細な説明本当にありがとうございました!
振り返ってもマクロをいじった記憶はないのですが
その程度のことなら時間のある時にいろいろいじってみてる可能性も
否定はできないような気がします。
とてもとても参考になり、今後は気を付けようと肝に銘じました。

ちなみに私がマクロが削除されたと書いたのは
ツール>マクロ>マクロの管理>OpenOffice.orgBasicマクロ
でマクロの記録先の該当ファイルにあったものが全て消えていたということです。
ThisWorkBookも消えてしまっていた訳なんですが何か問題出たりするのでしょうか?
エクセルでも普通に開けているので大丈夫なのかなと思ってはいますが。

本当に本当に助かりました。
自分でも少しずつ使い慣れて理解していけるようがんばります。

追記です

ike@九州 (2007-09-09 13:09:05 (日))

実用マクロが含まれている場合のファイルについて検証不十分でした。
VBA属性でチェックを全て外して修正等して保存すると実用マクロも消失してしまいます。

VBA属性で読み込みだけのチェックを外す事

で、読み込み時はセキュリティ警告を出さずに元のマクロ情報はそのまま保存されました(保存時はExcel形式)
実用Excelマクロを含むExcelファイルをCalcで編集保存する機会がある人はこちらがお勧めですね。失礼しました。
デフォルトでは保存のみにチェックが入ってるのがよさそうな気がしますけれど…今回の問い合わせは全て確認する上で良い機会でした

#CalcでThisWorkbookを削除してもExcelでは復活してました

お名前:
題名:


添付ファイル: fileexcel.png 781件 [詳細]