2009-06-24 22 views
0

複数のシートを持つExcelレポートがあり、それぞれにデータテーブルがあります。私は、テーブルを含む1つのhtmlページを作成するボタンを作る必要があります。VBAでのhtmlファイルの追加

私は最初のアプローチでは、テーブルに別のワークシートを作成し、そのシートをActiveWorkbook.PublishObjectsを使用してHTMLとして保存するマクロを作成しました。問題は、エクスポートされたファイルのすべてのテーブルで列の幅が同じにならないようにすることです。

解決策は、各シートに列の幅を設定し、シートをhtmlに個別にエクスポートし、それらをすべて1つのhtmlファイルに追加することだと思います。これを達成するための簡単な方法はありますか、または各htmlファイルに入り、関連するセクションを選ぶためのコードを書く必要がありますか?

答えて

2

VBPJの2001年6月号では、おそらくあなたの出発点として役に立つコラムを書きました。 Rangeを反復してHTMLテーブルに変換し、クリップボードに置いて別のもの(たとえばFrontPage)に貼り付ける方法を示しました。記事:

Ask the VB Pro, June 2001: Soup Up Office VBA

すなわち、RangeToHtml()関数を示す第二のQ /ペア、およびリスト2を見てみます。私のコードは基本的にすべての書式設定を取り除きました。それが私の目標でした。私はExcelオブジェクトモデルについては十分にはわかりませんが、重要であれば幅=属性を埋め込むことができると思います。

+0

Excelでは、セルのColumnWidthプロパティが役立ちます。たとえば、 Range( "A1")。ColumnWidth – barrowc

+0

私の問題を解決するためにhtmlの知識が必要だと私は受け入れるのに時間がかかったが、ファイルを最初から構築するのが最良の解決策である。ありがとう! – Emily

+0

HTMLがよかった!一度基本を知れば、もっと幸せになれます。 :-) –

関連する問題