プロが教えるわが家の防犯対策術!

お世話になります。
現在下記のようなVBAを組んでみて、なんとかエクセルの複数シートを一括でHTMLとして出力できないか試行錯誤しています。
しかし、どうしても各文字列がダブルクォーテーションで囲まれてしまい、かつ、HTML上に本来存在していてもらわないといけないダブルクォーテーションが2重になってしまう(本来一個あればOKなところに余分にもう一個ついてしまう)という状態です。
おそらくマクロの中身が思いっきり違うのだろうと思うのですが、いかんせんよく分かりません。以下に実際の中身とその結果出てきてしまったものを記載しますので、なにとぞ、ご教授をお願いいたします。

■実際に使っているマクロの中身
Sub Test()
Dim ws As Worksheet
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
ws.SaveAs ThisWorkbook.Path & "\" & ws.Name & ".html", xlUnicodeText
Next ws
End Sub


■結果として出力されてしまうHTML(まがいの何か)
"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"" ""http://www.w3.org/TR/html4/loose.dtd"">"
"<html lang=""ja"" dir=""ltr"">"
<head>
"<meta http-equiv=""Content-Type"" content=""text/html; charset=Shift_JIS"">"
"<meta http-equiv=""Content-Style-Type"" content=""text/css"">"
"<meta http-equiv=""Content-Script-Type"" content=""text/javascript"">"
"<link href=""css/style.css"" rel=""stylesheet"" type=""text/css"" media=""screen, tv"">"
"<script type=""text/javascript"" src=""/common/js/search.js""></script>"


■本当はこうしたいHTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<link href="css/style.css" rel="stylesheet" type="text/css" media="screen, tv">
<script type="text/javascript" src="/common/js/search.js"></script>

以上となります。

A 回答 (2件)

わたしもxlHTMLにして


Sub Test()
Dim ws As Worksheet
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
ws.SaveAs ThisWorkbook.Path & "\" & ws.Name & ".html", xlHtml
Next ws
End Sub
でやってみると、””などつかない、それらしいテキストファイルが出来ました。
やってみて質問者の望むものかチェックしてください。
参考
http://www.convert-files.com/SII/Convert-XLS/Jap …
    • good
    • 0

>ws.SaveAs ThisWorkbook.Path & "\" & ws.Name & ".html", xlUnicodeText



「xlUnicodeText」ー>「xlHtml」としてみたら?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!