• ベストアンサー

シート上に記述されたhtmlソースをUTF-8のhtmlファイルとして保存するには

エクセルのシート上に記述されたhtmlソースをUTF-8のhtmlファイルとして保存するにはどうしたらいいでしょうか? webページとして保存するマクロだけでは上手く出来ません。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

Dim S, A, Y, X Set S = ThisWorkbook.Worksheets(1) X = S.Cells.SpecialCells(xlLastCell).Row Set A = CreateObject("ADODB.Stream") A.Open A.Type = 2 A.Charset = "UTF-8" For Y = 1 To X     A.WriteText Cells(Y, 1) & vbNewLine Next A.SaveToFile "C:\~\hoge.html", 2 A.Close

その他の回答 (3)

回答No.4

Excel VBA で、 指定したシートの、指定したセルの値を取得する方法。 指定した列のセルを指定した範囲で順番に取得する方法。 これ、Excel VBA の基本だと思いますよ。 それこそ UTF-8 の件よりも多くのサンプルが転がっています。 と言うか本屋さんで平積みされているフルカラーの入門書にだって書かれています。 自力で検索する労力を惜しんで人に聞いてばかりいては後で困りますよ。 "excel VBA セルの値 取得" の検索結果 http://www.google.com/search?num=50&hl=ja&q=excel+VBA+%E3%82%BB%E3%83%AB%E3%81%AE%E5%80%A4+%E5%8F%96%E5%BE%97&lr=lang_ja&aq=f&aqi=&aql=&oq=&gs_rfai= "Excel VBA セル ループ" の検索結果 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=excel+vba+%E3%82%BB%E3%83%AB+%E3%83%AB%E3%83%BC%E3%83%97&num=50 Dim sourceSheet As Worksheet Set sourceSheet = ThisWorkbook.Worksheets("シート名") Dim i As Long For i = 1 To 10 MessageBox sourceSheet.Cells(i, 1).Value Next "シート名" という名前のシートの A列 1行目から10行目をループさせてセルの値をメッセージボックスに表示するサンプル。

回答No.2

> エクセルのシート上に記述されたhtmlソースをUTF-8のhtmlファイルとして保存するにはどうしたらいいでしょうか? > webページとして保存するマクロだけでは上手く出来ません。 ぶっちゃけて言うと VBA で UTF-8 のテキストファイルを作成したいってことでいいんですよね? シートの内容を UTF-8 の HTML 形式で保存したいわけじゃないですよね? (Excel を保存するときに選べる "Web ページ" とかみたいなやつ) 単純に utf-8 のテキスト書き出しなら ADODB.Stream を使うとか。 "VBA utf-8" だけで検索した結果です。 これぐらいなら質問する前に 1分も掛からず調べられると思うので、質問の意図を間違って理解してる可能性もありますが、、、 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=vba+utf-8&num=50

udon0318
質問者

補足

回答ありがとうございます。 検索結果を元に色々試してはいたのですが、どうしても処理の方法が分からない部分がありました。 http://d.hatena.ne.jp/so_blue/20080617/1213670472 このページにある .WriteText "ほげふが" この部分をシートのA列にあるhtmlソースにしたいのですが、どうしたらいいのかが分かりません…。

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

utf-8に直接出来ませんが htmlで、保存した後、ノートバットに ソースをコピーペーストして、utf-8として、 テキストファイルとして保存後 拡張子をhtmlに変換すれば良いと思います。

udon0318
質問者

補足

回答ありがとうございます。 説明不足で申し訳ございません。 そのような処理をエクセル上で一括処理させたいのですが、他の方法はないでしょうか? 宜しくお願いします。