プロが教える店舗&オフィスのセキュリティ対策術

Excel 2007 を使っています。
Excelでテーブルを作成して、抽出したり並べ替えたりしたものから、
webで公開したい範囲を選択してhtml形式で保存しました。
(「名前を付けて保存」の「その他の形式」から「Webページ」選択)
ブラウザで表示された部分は、Excelで見えるとおりだったのですが、
htmlソースを確認したら、不可視にした部分まで含まれていました。
Excelで不可視にした部分をhtmlソースに含めないようにする方法はありますでしょうか。
ご存知の方、教えてください。

質問者からの補足コメント

  • 補足です。
    > 次に、ホームタブ-検索と選択-条件を選択してジャンプ-可視セル-OK
    この方法を事前に試して失敗した理由がもう一つありました。
    別のシートに貼り付ける前にWeb発行しようとしたら、
    選択部分だけの発行はできず、シートの全てしか選択できなかったので、
    無理なのかなぁ、と諦めてました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2016/05/05 04:33
  • へこむわー

    > html形式で保存したファイルをExcelで開くと、フィルタ機能が残ったまま元に戻って、
    > 非表示ファイルも表示することができますし

    私の勘違いでした。すみません。m(_ _)m

    No.3の回答に寄せられた補足コメントです。 補足日時:2016/05/06 18:23
  • HAPPY

    テーブルのままで可能かどうか分かりませんが、
    非表示行を削除するマクロを作って削除してから保存すれば良さそうです。
    試した手順は次の通りです。
    1.いったんhtml形式で保存する。
    2.作成したhtmlファイルをExcelで開く。
    3.非表示行を削除するマクロ(Webで検索すれば複数見つかる)で非表示部分を消す。
    4.残った部分をhtml形式で保存する。

    3.の終了まで少し時間がかかりましたが、
    テキスト整形ソフトを使うよう準備する手間を省ける分、早いかもしれません。

      補足日時:2016/05/06 18:58

A 回答 (3件)

こんにちは。



試してみました。いや、知らなかったですね。テーブルで作って、ソースには残されているとは……。

>Excelで不可視にした部分をhtmlソースに含めないようにする方法はありますでしょうか。

これ自体は、簡単でしょう?
フィルター状態にしておいて、テーブルをあらかじめ選択しておきます。
次に、ホームタブ-検索と選択-条件を選択してジャンプ-可視セル-OK

後は、別のシートに貼り付けて、もう一度テーブルにして、それから、Web を発行すれば、不可視にしていたものは残っていません。

意味として勘違いしていたら、ごめんなさい。
この回答への補足あり
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。

> フィルター状態にしておいて、テーブルをあらかじめ選択しておきます。
(この後に「コピー」)
> 次に、ホームタブ-検索と選択-条件を選択してジャンプ-可視セル-OK
> 後は、別のシートに貼り付けて

これは質問する前に試して、クイックアクセスツールバーにまで登録したのですが、
上手くいきませんでした。
先ほど試したら、問題なく必要な部分がコピーできました。
どうして事前に試した時にうまくいかなかったのか、確認したら、
私はテーブル以外の部分を含めてコピーしてました。
この場合、フィルターが解除されてコピーされるようです。

また、もう一つ問題があって、列の幅はコピーできないので、
予め、コピー先の列の幅をコピー元と同じにしておく必要がありそうです。
上記の失敗した件も、テーブル以外の部分を予め別にコピーしておいて、
テーブルの部分だけを後からWindFallerさんの方法でコピーすれば、
目的の結果が得られるのかもしれません。
この方法しかないのかもしれませんね。

ちなみに、諦めていた私は対処方法として、次のソフトを使い、
「複数行置換」
http://www.inasoft.org/webhelp/mlrep/HLP000001.h …
ソースの次の部分を削除しました。
<tr height=0 style='display:none'>から次の</tr>まで。
置換前文字列:<tr height=0 style='display:none'>(.*?)</tr>
置換後文字列:空欄

質問後にhtmlファイルを縮小する必要も生じたので、
「Excelで作ったhtmlファイルのサイズを縮小したい」
https://oshiete.goo.ne.jp/qa/9263099.html
結局は「複数行置換」を使うことになりそうです。

ただ、
テーブル以外の部分を含めてコピーした場合に、
非表示にした部分をhtmlソースに含めないようにする方法があれば知りたいので、
この質問はしばらく継続させていただきます。

回答、ありがとうございました。

お礼日時:2016/05/05 04:19

#1さんの「Excelで作ったhtmlファイルのサイズを縮小したい」のレスを読んで、そうだったなって思うことと、もう一つ、以下のコードをみていて、xmlとほとんど変わらないというか、Excelでは、スタイルシートを使ってxml を出力するわけですよね。



しばらくやっていないので、すっかり忘れてしまっていました。

<table class="type01">
 <tr>
  <th scope="row">項目名</th>
  <td>品名</td>
 </tr>
 <tr>
  <th scope="row">項目A</th>
  <td>Apple</td>
 </tr>
 <tr>
  <th scope="row">項目B</th>
  <td>Banana</td>
 </tr>
 <tr>
  <th scope="row">項目C</th>
  <td>Grape</td>
 </tr>
</table>

これ自体の表は、Excelとしてのオブジェクトは違いますが、構造的には、変換できるとは思いますし、これ自体の表もテキストとして、マクロで簡単に出力してしまいますね。要するに、取得する時と逆のことをすればよいのですから。何か、あまり難しく考えすぎたような気がしてならないのですが……。
この回答への補足あり
    • good
    • 0
この回答へのお礼

Excelのデータをhtmlファイルを使って共有しようとしたら非表示ファイルを削除してはいけないのでしょうね。
Webで公にするようなものではないのだろうなぁと思いました。
html形式で保存したファイルをExcelで開くと、フィルタ機能が残ったまま元に戻って、
非表示ファイルも表示することができますし。

> Excelでは、スタイルシートを使ってxml を出力するわけですよね
知りませんでした。
もしかしたら、これがヒントになるかもしれません。
すぐには試せませんが、頭に留めておきます。
ありがとうございました。

お礼日時:2016/05/06 17:25

ありません。

    • good
    • 0
この回答へのお礼

回答、ありがとうございました。

お礼日時:2016/05/03 16:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!