こんにちは。やっまむーです。
仕事上の書類ってどんな形式で作られていますかね?
私のところでは一覧表から設計書、スケジュール等も含めてエクセルで作られたものが多いです。
このような環境でよく目にするのが、いつの間にか追加されている大量の謎スタイル。
標準多すぎ・・・ |
普段は設計書等を書くためにエクセルを使ていてスタイル機能を使う事がないため気にしないのですが、ふと見たときに増殖を繰り返して大変な事になっています。
この現象は昔からあるようで、Microsoft公式や様々な方が削除用のマクロを公開するほどです。
ところが、この削除マクロを使っても消えないスタイルも少なからず存在します。
上段3つが呪いのスタイル |
まるで呪いのようにつきまとうので、次第に全てのファイルが侵食されてしまいます。
消す方法を求めて
何とか消す方法がないか調べてみると、以下のような記事がありました。Excelの呪い 消せないスタイルと外部リンクの強制削除
エクセルファイルをzip解凍して、中のファイルを直接編集するという方法です。
ただ、現場で使っているファイルにこの方法を試したところ、編集後のファイルが壊れて開けなくなってしまいました。
結局は不用意に他のファイルからコピーしないしか方法はないのかなと思っていました。
しかし、諦めきれず試行錯誤をしているとようやく安全に消す方法を見つけました。
やり方は非常にシンプル。
- スタイルの変更を選択
- スタイル名、書式設定を適当に変更する
- 一旦保存して、終了する
- 再度開きなおして削除を行う
呪いが解けたぞー!! |
おそらく、設定を変更して保存する事で破損した状態が修復されたのでしょう。
これで忌々しい呪いから解き放たれました!
皆さんも呪いのスタイルにお困りでしたら一度試してみてください。
ではではー。
呪いが解けました!
返信削除素晴らしい!!
マクロはないですか?
コメントありがとうございます。
削除呪いが解けてよかったです。
スタイル削除のマクロは今のところ作っていません。
全てのスタイルを削除するものは探すと見つかるのですが、例えば標準マクロを残しておきたい時などは使えないんですよね。
標準スタイルを残して他を削除するようなマクロ、ちょっと考えてみます。
返信削除For Each S In objDoc.Styles
If Not S.BuiltIn Then
S.Delete
End If
Next
標準スタイルを除外するための条件が If Not S.BuiltIn です。
https://qiita.com/hkuno/items/87f06368855a9e72b0fe