Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
セルの値をHTML化にする方法
投稿日時: 20/01/30 10:58:21
投稿者: kkkk

VBAでHTML化する勉強をしています。
ネットで検索しても表、テーブルを使ったVBAで、For文やDo~While文を使ったコードが多かったでした。もっとシンブルに分かりやすく覚えたいのです。
セルA2とC3をHTML化する方法を教えてください。宜しくお願いします。
 

A2 山田
C3 太郎

HTML化
<p>山田</p>
<p>太郎</p>

回答
投稿日時: 20/01/30 11:35:14
投稿者: WinArrow
投稿者のウェブサイトに移動

HTMLファイルハ、
このファイルは、HTMlドキュメントです‥というような宣言が必要です。
  
掲示の部分だけでは、HTML化したことにはなりません。
  
ということで、その宣言部分は、自分で勉強していただくとして
HTMLはテキストファイルに作成します。
テキストファイルを出力モードで開くことから始めます。
  
例参考コード
  
Sub HTML作成()
Dim ファイル名 As String
Dim FNO As Integer
 
' 変数「ファイル名」にファイルを作成したいフォルダとファイル名を代入する
 
FNO = FreeFile
Open ファイル名 For Output As #FNO
Print #FNO, "" 'HTMLをしての宣言を数行記述
 
Print #FNO, "<p>" & Range("A2").Value & "</p><br><p>" & Range("C3").Value & "</p>"
Print #FNO, ""; "HTML終了宣言を数行記述"
 
Close (FNO)
End Sub
  

投稿日時: 20/01/30 13:24:20
投稿者: kkkk

Openはファイルを開くってことですよね?
ファイルを開くとかではなく、シート1のA2、B3の値をHTML化にしたいのですが。
HTML化というのはHTML形式で保存するってことになりますが…
誤解しているようでしたらすみません。

回答
投稿日時: 20/01/30 13:57:20
投稿者: WinArrow
投稿者のウェブサイトに移動

kkkk さんの引用:
Openはファイルを開くってことですよね?
ファイルを開くとかではなく、シート1のA2、B3の値をHTML化にしたいのですが。
HTML化というのはHTML形式で保存するってことになりますが…
誤解しているようでしたらすみません。

 
誤解といえば誤解かもしれませんが、
 
Openだけ見れば、既存ファイルを開くと思われがちですが、
  
その後ろに
For Output
というモードがあります。
このモードには、Input / Output / Apped があり
Outputで、保存ではなく、出力(書き出し)です。
  
気をつけなければいけないのが、
 同名の既存ファイルがあった場合、
Open文の実行で、無条件で上書きされてしまいます。(中身は空っぽ)
  
もう一つ肝心なこと
新しくファイルを作成するわけですが、拡張子はどのように考えているのでしょうか?
 

回答
投稿日時: 20/01/30 13:59:56
投稿者: WinArrow
投稿者のウェブサイトに移動

追伸
 
前レスで、HTMLとしても宣言のようなものを記述する必要があると
下記かしたが、無くてもHTML年て開くことは可能です。
見映えがよいかどうかは別です。

投稿日時: 20/01/30 14:07:50
投稿者: kkkk

ご教鞭ありがとうございます。
 
・Open ファイル名 For Outputという意味を調べておきます。
・拡張子はhtml形式です。
※HTML作成.htmlというものです。
 

回答
投稿日時: 20/01/30 15:39:25
投稿者: WinArrow
投稿者のウェブサイトに移動

前レスの文章に誤字があり、誠にすみません。
 
HTMLのタグについても勉強するとよいでしょう。
<BR>は改行という意味なので
単準に入れてしまいましたは
<P>〜〜〜</P>
には、改行が含まれているので、もしかしたら<BR>は要らないかも
 

投稿日時: 20/01/30 15:47:08
投稿者: kkkk

解決できなくて残念です。締め切らせていただきます。