エクセル(VBA)で下記のテキストをhtmlに変換するようなシステムを作るにはどうすれば良いのでしょうか。
よろしくお願いいたします。
変換条件
・項目部分は色を変えます
・カタカナ、英数字はすべて半角に変換します
・株式会社、社団法人は(株)、(社)に変換します
・必要のない項目は削除します
【変換前テキスト】
●項目1 : サンプル1です
●項目2 : テスト株式会社
●項目3 : 必要のない内容
●項目4 : 文章があります
【変換後のhtml】
<font color="#008080">●項目1:</font>サンプル1です<br /><br />
<font color="#008080">●項目2:</font>テスト(株)<br /><br />
<font color="#008080">●項目4:</font>文章があります<br /><br />
No.6ベストアンサー
- 回答日時:
#5修正です
(#5だと、タグ内の半角空白も削除されてしまいました)
=SUBSTITUTE(SUBSTITUTE("<font color=""#008080"">" & SUBSTITUTE(ASC(LEFT(A1,FIND(":",A1,1))) & "</font>" & ASC(RIGHT(A1,LEN(A1)-FIND(":",A1,1)))," ","") & "<br /><br />","株式会社","(株)"),"社団法人","(社)")
を使ってください。
No.8
- 回答日時:
こんにちは。
KenKen_SP です。恐らくセル内の途中でフォント色が変化した場合にも対応したい...といった
要望が後から後から必ず出てくるでしょう。
ワークシートの HTML 自力書き出しは、HTML の知識(タグやカラーコード等)
に加え、セル解析やテキストの書式解析など比較的高度な VBA の知識と経験
が必要で、結構難しい分野です。
頑張って自力開発と言うのも良いですが、VECTOR 等でフリーのアドインが
公開されてますので、これを利用するということも検討してみて下さい。
オススメは....
[ Excel 指定 Range の html 化 - Elie_ExcelRangeToHtml Ver 2.0.0]
http://www.geocities.jp/elie_world/available_sof …
です。
参考URL:http://www.geocities.jp/elie_world/available_sof …
アドバイスをいただきありがとうございます。
おっしゃる通りだと思います。
私もはじめはVECTORで様々なソフトをダウンロードしてたんですが
なかなか思うようにいかず今回こちらで質問させていただきました。
No.7
- 回答日時:
#2です。
すでに色々回答出てますが、別のやり方で。ユーザ定義関数を使う方法
[Alt]+[F11]でVisual Basicの画面を開く
[挿入]→[標準モジュール]で標準モジュールを追加し、下記をコピペ
Function MyConv(str As String) As String
Dim s1 As String, s2 As String
str = StrConv(str, vbNarrow) '半角へ変換
If InStr(1, str, ":") > 0 Then
s1 = Left(str, InStr(1, str, ":") - 1) ' 項目名
s2 = Mid(str, InStr(1, str, ":") + 1) '文章
s1 = Trim(s1) '前後のスペースを削除
s2 = Trim(s2) '前後のスペースを削除
s2 = Replace(s2, "株式会社", "(株)") '文字列置換
s2 = Replace(s2, "社団法人", "(社)") '文字列置換
MyConv = "<font color=""#008080"">" & s1 & ":</font>" & s2 & "<br /><br />"
Else
MyConv = ""
End If
End Function
Visual Basicの画面は閉じて、Excelへ戻り、B列へ数式を入れる
B1 =MyConv(A1)
B2 =MyConv(A2)
B3 =MyConv(A4)
A1~A4へデータを貼り付けるとB1~B3に変換後のテキストが出ます。
No.5
- 回答日時:
#1、#4です。
※A1からA4までデータが入っているとする
B1に
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("<font color=""#008080"">" & ASC(LEFT(A1,FIND(":",A1,1))) & "</font>" & ASC(RIGHT(A1,LEN(A1)-FIND(":",A1,1))) & "<br /><br />"," ",""),"株式会社","(株)"),"社団法人","(社)")
と入力し、B4までコピー。
B3をクリア
B4に入っている関数をそのままB3へ貼り付け
(数式ボックスまたは、F2で編集状態にしコピペ)
これで、
A1の内容を変換しB1へ
A2の内容を変換しB2へ
A4の内容を変換しB3へ
表示されますので、B列の内容を貼り付けてください。
A列に入力された文字列から、
半角スペースを削除する処理が
組み込まれています。
No.4
- 回答日時:
#1です
A1からA4にデータを貼り付けたとして
B1に
="<font color=""#008080"">" & ASC(LEFT(A1,FIND(":",A1,1))) & "</font>" & ASC(RIGHT(A1,LEN(A1)-FIND(":",A1,1))) & "<br /><br />"
と入力し、B4まで複写。
それらしい感じになりますかね。
変換前テキストの
●項目1 : サンプル1です
ですが、
「:」の前後に全角スペースが入っていますが、これを削除するのですか?
また、変換後テキストの先頭5文字が
●項目1:
●項目2:
●項目4:
の固定であるなら、変換前テキストの6文字(5文字?)を使わなくて、変換できると思います。
あとは、株式会社・社団法人の変換ですが、有限会社は、ないのかしらん?
No.3
- 回答日時:
似た質問が出ていて、締め切られました。
そのときの私の回答は
HTML文は、テキストファイルであることをお忘れなく。
後はタグの知識
VBのPrint #文
IEのVBAからの開き方
の知識が要ります。
ーーーー
エクセルのSheet1にコマンドボタンを1つ貼り付けます。
ダブルクリックすると
Private Sub CommandButton1_Click()
End Subが現れますから
下記のコードを作ります(コピー)。
OpenのXXXのところを自分の場合に合わせて変えること。
Private Sub CommandButton1_Click()
Open "C:\Documents and Settings\XXX\My Documents\h001.html" For Output As #1
Print #1, "<HTML>"
Print #1, "<BODY>"
Print #1, "<FONT COLOR=" & "#cc0000>"
Print #1, Cells(1, "A")
Print #1, "<FONT>"
Print #1, "</BODY>"
Print #1, "</HTML>"
Close #1
'-----
Set objExplorer = CreateObject("InternetExplorer.Application")
objExplorer.Navigate "C:\Documents and Settings\OTO\My Documents\h001.html"
objExplorer.Visible = True
Set objExplorer = Nothing
End Sub
Sheet1のA1に文章を入力します。
コマンドボタンをクリックすると
インターネットエクスプローラーが開き、セルA1の文章が出ます。
(テスト済み)
この後はホームページの作り方のHTML文の解説を探して、文字列の
1 部を色付けするタグの書き方など調べてください。
A1: A5まで文章を分けて入れる場合は、ForNextなどで
For i = 1 To 5
Print #1, Cells(i, "A")
Next i
とすればよいと思います。
ーーー
さて本質門ですが
(1)項目部分の色を変えるのは、項目部分は自分でVBA内で判断し、HTMLのタグの勉強すること
(2)法人組織名は株式会社などの文字列を探し(株)に置き換えるか
Replace
関数の勉強
(3)必要の内項目を省く、は必要の内項目をVBAで判断し、HTML文に
書き出さない、だけのこと
(4)半角変換はStrConv関数の利用の勉強
でできると思います。
エクセルシートのデータ具体例がない(多分色々動くので説明しずらいのでしょう)ので答えられないし、回答者が答えるとすると
コード行数が大変多くなって答えてくれる人がないでしょう。
こういうのは、自作するのは、質問振りからすると、今は荷が重いのではないですか?
ありがとうございました。
今の私は勉強不足でよくわかっていない部分が多いです。
ただ急遽、なんとかしなければならなかったためこのような質問となりました。
ご回答ありがとうございました。
No.2
- 回答日時:
1 項目は行頭から:(全角)までと見なして良いですか?
2 カタカナの扱いですが、「半角に変換します」と書いてますが、サンプルは全角です。半角ですよね?
(フォーム送信時に勝手に変換されたのかな?)
3 「必要のない項目」の判断基準は?
4 結果の出力ですが、セルに出力でいいですか?それともファイルに出力ですか?
この回答への補足
ご指摘ありがとうございます。
補足させていただきます。
1項目は行頭から:(全角)までと見なします
2変換後のhtmlサンプルでは半角にしたのですがどうやらここでは半角表示はできないみたいです。
html変換後は半角になります。
3必用のない項目は確定しておりますので「項目3:」が必要なしと判断していただければいいです。
4結果はファイルではなくセル、もしくはリストボックスに表示(!?)できればいいです。
最終的には結果をコピペして本来のHP本体の一部に埋め込みます。
なのでファイルとして残す必要もありません。
エクセルを選んだ理由は誰もがこのシステムを使えるようにとのことでしたので…
申し訳ございませんがよろしくお願いいたします。
今から夜まで戻れませんので新たな補足は夜にさせていただきます。
どうぞよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS HTMLソースの質問 3 2022/07/28 13:29
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- 法学 全部取得条項付株式の取得と引換えにする株式の発行 申請書について 1 2022/12/21 17:32
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- HTML・CSS HTMLで特定の文字だけ色を変えたいのですが、指定した色と違う色が反映してしまいます。 下記、「前」 5 2023/06/27 12:08
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルのマクロでアクティブシートをhtml保存
Visual Basic(VBA)
-
txtをhtmlに変換するソフト
フリーソフト
-
VBAでフォルダ内のhtmlファイルを読み込みたい
その他(プログラミング・Web制作)
-
-
4
Excel VBA Outlookメール作成について
Excel(エクセル)
-
5
VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています
Visual Basic(VBA)
-
6
Excel VBAを使ってHTML生成をしたい
HTML・CSS
-
7
EXCELのセル内にHTMLタグを含む文を入力
Visual Basic(VBA)
-
8
VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本
Visual Basic(VBA)
-
9
HTMLタグのあるCSVファイルを利用する方法
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CString から LPCTSTRの型に変換
-
Excel VBAでPDFファイルをMicro...
-
【PHP】全角記号を半角記号...
-
VB6にも「ToString」ってあり...
-
ローマ字文字列の半角←→全角変換
-
ローマ字からカナに変換する方...
-
PC用ホームページを携帯用に変...
-
SQLのデータで半角カナを全角に...
-
SJIS->UTF8->SJISコード変換に...
-
文字コードの%E3%80%とは何です...
-
テキストをhtml変換するには
-
oracle10g eucのblobをsjisのch...
-
エクセルでの漢字(全角ひらが...
-
日本語をURL化 ごはん→%E3%81%9...
-
ウイザードからのVBAでクエリー...
-
r18文学賞は文字数ではなく、枚...
-
Visual Studio プロパティペー...
-
Pythonについて。
-
VBScript 全角英数記号→半角英...
-
文字コードについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでPDFファイルをMicro...
-
文字コードの%E3%80%とは何です...
-
CString から LPCTSTRの型に変換
-
VB6にも「ToString」ってあり...
-
gccでiconvを使った文字コード...
-
VBScript文字列をSJISからUTF8...
-
SJIS->UTF8->SJISコード変換に...
-
ローマ字からカナに変換する方...
-
シャープ(#)の受け渡し
-
文字列を quoted-printable 文...
-
Encode.pmで「髙」(ハシゴ高)...
-
LINUX上でシリアル通信(C++)
-
ローマ数字の変換をしたいのですが
-
Kシェルでの文字型→数値型変換
-
テキストをhtml変換するには
-
ひらがなから全角カタカナへの...
-
Delphiの型変換
-
SQLのデータで半角カナを全角に...
-
CString型からdouble型への変換
-
五十音の並べ替えsortを教えて...
おすすめ情報