<背景色、フォントカラーをHTMLの表にしてみる>
どうも、三流プログラマーのKen3です。 今回は、前回の続きで、 Excelの表をHTMLの表にしてみたいと思います。 標準でHTML形式で保存があるけど、練習を兼ねて。 http://www.ken3.org/p/lzh/office-017.lzh に今回のサンプル保存されてます。 あわせてみてください。/* * 1.追加機能や足りない機能、使っていっての要望をまとめる */
前回、表の基本形を書き込めました。 なんとか、右寄せ左寄せ、中央寄せのパターンを書きました。 まだまだ、機能的に足りないだけど、 今回は、 フォントの色、 ^^^^^^^^^^^^ 背景色 ^^^^^^ を変えてみたいと思います。/* * 2.初期捜査、初動捜査 */
いつものマクロ記録で、フォント関係を記録してみます。 プロパティ、メソッドの探り方 マクロ記録とF1のHelpを使う http://www.ken3.org/vba/excel-help.html も、ヒマな時、のぞいてください。 話を戻してと、 フォントを赤にして、背景は黄色。 なんて操作をマクロ記録すると、
Sub Macro1()
Range("B2:C4").Select
Selection.Font.ColorIndex = 3
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Range("G6").Select
End Sub |
Sub Main()
'Application.InputBoxでセルを選択させる
Dim objTARGET As Range '選択されたセルの集合
Set objTARGET = Application.InputBox(prompt:="セルを選択", Type:=8)
If IsEmpty(objTARGET) Then 'キャンセルが押されたかチェックする
MsgBox "キャンセルが押されました"
Exit Sub
End If
'ファイル名を作成 ファイル名は自分のパス+\test.html
Dim strFNAME As String 'ファイル名保存用
strFNAME = ThisWorkbook.Path & "\test.html" 'ファイル名を作る
'テーブルデータを作成する
Call MAKE_HTML_TABLE(strFNAME, objTARGET)
'できたファイルをIEで表示して確認する
Call IE_OPEN_URL(strFNAME) 'ファイル名を渡す
'終わりの挨拶
MsgBox strFNAME & "を作成しました"
End Sub |
Sub MAKE_HTML_TABLE(strFNAME As String, objHANI As Range)
Dim strCOLOR As String
Dim strR As String
Dim strG As String
Dim strB As String
'ファイルをオープンする
Dim FNO As Integer 'ファイル番号
FNO = FreeFile '空いてるファイル番号を取出す
Open strFNAME For Output As #FNO 'テキストファイルを新規作成
'HTMLのヘッダーを書く
Print #FNO, "<HTML><HEAD><TITLE>"
Print #FNO, "テーブル作成してみました"
Print #FNO, "</TITLE></HEAD>"
Print #FNO, "<BODY>"
Print #FNO, "<TABLE border=1>" 'テーブルの開始
'行、列でループを作る
Dim y As Integer
Dim x As Integer
For y = 1 To objHANI.Rows.Count '行のループ
Print #FNO, "<TR>" '行の開始タグ
For x = 1 To objHANI.Columns.Count '列のループ
'ALIGNを調べて書き込む
Select Case objHANI.Cells(y, x).HorizontalAlignment
Case xlRight:
Print #FNO, "<TD ALIGN='RIGHT'";
Case xlLeft:
Print #FNO, "<TD ALIGN='LEFT'";
Case xlCenter:
Print #FNO, "<TD ALIGN='CENTER'";
Case Else 'その他設定無しのとき
Print #FNO, "<TD";
End Select
'バックカラーを調べる
strCOLOR = Right("000000" & _
Hex(objHANI.Cells(y, x).Interior.Color), 6)
If strCOLOR <> "FFFFFF" Then '白以外の時処理
strR = Mid(strCOLOR, 5, 2)
strG = Mid(strCOLOR, 3, 2)
strB = Mid(strCOLOR, 1, 2)
Print #FNO, " BGCOLOR=#" & strR & strG & strB;
End If
Print #FNO, ">"; 'タグを閉じる
'フォントの色を調べる
strCOLOR = Right("000000" & Hex(objHANI.Cells(y, x).Font.Color), 6)
If strCOLOR <> "000000" Then '黒以外の時処理
strR = Mid(strCOLOR, 5, 2)
strG = Mid(strCOLOR, 3, 2)
strB = Mid(strCOLOR, 1, 2)
Print #FNO, "<Font Color=#" & strR & strG & strB & ">";
End If
'セルの中身を書き込む
Print #FNO, objHANI.Cells(y, x).Value;
'フォントのタグを閉じる
If strCOLOR <> "000000" Then '黒以外の時処理
Print #FNO, "</Font>";
End If
'タグを閉じる
Print #FNO, "</TD>";
Next x
Print #FNO, "</TR>" '行の終了タグ
Next y
'HTMLのタグを閉める
Print #FNO, "</TABLE>"
Print #FNO, "</BODY></HTML>"
'ファイルをクローズする
Close #FNO
End Sub |
Sub IE_OPEN_URL(strURL As String)
'IEを起動して、表示
Dim objIE As Object 'IEオブジェクト参照用
'インターネットエクスプローラーのオブジェクトを作る
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True '見えるようにする(お約束)
objIE.Navigate strURL '文字列で指定したURLに飛ぶ
End Sub |
ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
|
気になったジャンル↓を選択してください。 人気記事(来場者が多いTOP3): Excel関係: Access関係: その他:VBAの共通関数やテキストファイルの操作など 開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う] 仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力] ※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。 |
Blogとリンク:[三流君の作業日記]/
[VBAやASPのサンプルコード]/
広告-[通販人気商品の足跡]